source: 2017/31/AaroP/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs @ 9384

Revision 9384, 3.4 KB checked in by npo17_75, 23 months ago (diff)

sain meilkein räjähtävän pään

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9
10public class FysiikkaPeli1 : PhysicsGame
11{
12    PhysicsObject Kuukavelia;
13    //PhysicsObject vasenReuna;
14    Image taustakuva = LoadImage("yo");
15    Image ukkelikuva = LoadImage("Motorbike");
16    PhysicsObject paa;
17    AxleJoint ax;
18    public override void Begin()
19    {
20
21        Luoalkuvalikko();
22
23
24
25     
26
27
28
29
30
31
32     
33
34       
35    }
36    void LiikutaKuukaveliaa(Vector vektori)
37    {
38        Kuukavelia.Push(vektori);
39        Gravity = new Vector(20.0, -200.0);
40 
41       
42    }
43     void LuoKentta()
44    {
45        //vasenReuna = Level.CreateLeftBorder();
46
47    }
48    void Aloitapeli()
49    {
50        Level.Width = 5000;
51        Level.Background.Image = taustakuva;
52
53
54        Kuukavelia = new PhysicsObject(60, 30);
55        Kuukavelia.Image = ukkelikuva;
56        //Kuukavelia.Shape = Shape.Circle;
57        //Kuukavelia.Color = Color.Fuchsia;
58        Add(Kuukavelia);
59        Kuukavelia.Mass = 2.0;
60        paa = new PhysicsObject(15, 10);
61        paa.Shape = Shape.Circle;
62        Add(paa);
63         ax = new AxleJoint(Kuukavelia, paa);
64        Time time = new Time();
65        ax.Object2.Update(time);
66        // ax.Object2.Update();
67        Add(ax);
68
69        //Surface.CreateLeft(Level);
70
71        Camera.Zoom(2.0);
72        Camera.Follow(Kuukavelia);
73
74        LuoKentta();
75
76        IsPaused = true;
77        Keyboard.Listen(Key.Up, ButtonState.Pressed, Pause, "Pysäyttää pelin");
78
79        GameObject taustapilvet = new GameObject(Screen.Width, Screen.Height);
80        taustapilvet.Image = taustakuva;
81        Add(taustapilvet, -1);
82        Layers[-1].RelativeTransition = new Vector(0.5, 0.5);
83
84        //Surface alaReuna = Surface.CreateBottom(Level, 30, 100, 40, 10);
85        //Add(alaReuna);
86        Surface alareuna2 = Surface.CreateBottom(Level, 35, 200, 20, 140);
87        Add(alareuna2);
88
89
90
91        //Surface.CreateLeft(Level);
92
93        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
94
95        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaKuukaveliaa, null, new Vector(-1000, 0));
96        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaKuukaveliaa, null, new Vector(1000, 0));
97        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaKuukaveliaa, null, new Vector(0, 1000));
98        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaKuukaveliaa, null, new Vector(0, -1000));
99
100        Keyboard.Listen(Key.W, ButtonState.Pressed, Luoalkuvalikko, null);
101
102    }
103    protected override void Update(Time time)
104    {
105        if(paa != null && Kuukavelia != null)
106        {
107            //paa.Angle = Kuukavelia.Angle;
108            //ax.Object2.X = ax.Object1.X + 20;
109
110
111            ax.Object2.Y = ax.Object1.Y + 20;
112            ax.Object2.Position = ax.AxlePoint;
113            //ax.Object2.Position = new Vector(Kuukavelia.X + 20, Kuukavelia.Y + 20);
114
115        }
116       
117
118        base.Update(time);
119
120    }
121    void Luoalkuvalikko()
122    {
123        ClearAll();
124        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
125 "Aloita peli", "Lopeta");
126
127        alkuValikko.AddItemHandler(0, Aloitapeli);
128        alkuValikko.AddItemHandler(2, Exit);
129        alkuValikko.Color = Color.GreenYellow;
130        Add(alkuValikko);
131
132    }
133
134}
135
136
Note: See TracBrowser for help on using the repository browser.