1 | using System; |
---|
2 | using System.Collections.Generic; |
---|
3 | using Jypeli; |
---|
4 | using Jypeli.Assets; |
---|
5 | using Jypeli.Controls; |
---|
6 | using Jypeli.Effects; |
---|
7 | using Jypeli.Widgets; |
---|
8 | |
---|
9 | public class Keulaa : PhysicsGame |
---|
10 | { |
---|
11 | Image moponKuva = LoadImage("RM125"); |
---|
12 | Image rengaskuva = LoadImage("rengas"); |
---|
13 | Image moponMuoto = LoadImage("Frame"); |
---|
14 | Image trengaskuva = LoadImage("trengas"); |
---|
15 | Image hypynKuva = LoadImage("Hyppy"); |
---|
16 | PhysicsObject mopo; |
---|
17 | |
---|
18 | public override void Begin() |
---|
19 | { |
---|
20 | //LISÄÄ AXLEJOINT PEHMEYS JA TAKARENGAs TAAKSE JA MAPPI |
---|
21 | |
---|
22 | Vector kaasu = new Vector(5000, 0); |
---|
23 | Vector pakki = new Vector(-5000, 0); |
---|
24 | |
---|
25 | // TODO: Kirjoita ohjelmakoodisi tähän |
---|
26 | //PhysicsObject mopo = new PhysicsObject(500, 318); |
---|
27 | //mopo.Shape = Shape.FromImage(moponKuva); |
---|
28 | //mopo.Image = moponKuva; |
---|
29 | //Add(mopo); |
---|
30 | |
---|
31 | Gravity = new Vector(0, -700); |
---|
32 | |
---|
33 | LuoKentta(); |
---|
34 | |
---|
35 | Camera.Follow(mopo); |
---|
36 | |
---|
37 | PhysicsObject maa = Level.CreateBottomBorder(0.2, true); |
---|
38 | |
---|
39 | Keyboard.Listen(Key.Up, ButtonState.Down, Kaasu, "Braapp!", mopo, kaasu); |
---|
40 | Keyboard.Listen(Key.Down, ButtonState.Down, Kaasu, "Braapp!", mopo, pakki); |
---|
41 | |
---|
42 | |
---|
43 | |
---|
44 | |
---|
45 | PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); |
---|
46 | Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); |
---|
47 | |
---|
48 | } |
---|
49 | |
---|
50 | void Kaasu(PhysicsObject mopo, Vector k) |
---|
51 | { |
---|
52 | mopo.Push(k); |
---|
53 | } |
---|
54 | |
---|
55 | void LuoKentta() |
---|
56 | { |
---|
57 | ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kentta"); |
---|
58 | |
---|
59 | ruudut.SetTileMethod("FFD800", LuoMopo); |
---|
60 | ruudut.SetTileMethod(Color.Black, LuoTaso); |
---|
61 | ruudut.SetTileMethod("FF0000", LuoHyppy); |
---|
62 | |
---|
63 | ruudut.Execute(120, 120); |
---|
64 | } |
---|
65 | |
---|
66 | void LuoMopo(Vector paikka, double leveys, double korkeus) |
---|
67 | { |
---|
68 | mopo = new PhysicsObject(250, 160); |
---|
69 | mopo.Shape = Shape.FromImage(moponMuoto); |
---|
70 | //mopo.MomentOfInertia = 500; |
---|
71 | mopo.Mass = 3; |
---|
72 | mopo.CollisionIgnoreGroup = 1; |
---|
73 | //mopo.AngularDamping = 0.9; |
---|
74 | mopo.Image = moponMuoto; |
---|
75 | Add(mopo); |
---|
76 | PhysicsObject Eturengas = new PhysicsObject(80, 80, Shape.Circle); |
---|
77 | Eturengas.CollisionIgnoreGroup = 1; |
---|
78 | Eturengas.Image = rengaskuva; |
---|
79 | Eturengas.X = mopo.X + 75; |
---|
80 | Eturengas.Y = mopo.Y - 30; |
---|
81 | Eturengas.Color = Color.Transparent; |
---|
82 | Eturengas.Mass = 2; |
---|
83 | Eturengas.Restitution = 0.2; |
---|
84 | Add(Eturengas); |
---|
85 | AxleJoint Etuliitos = new AxleJoint(mopo, Eturengas); |
---|
86 | Add(Etuliitos); |
---|
87 | PhysicsObject Takarengas = new PhysicsObject(75, 75, Shape.Circle); |
---|
88 | Takarengas.CollisionIgnoreGroup = 1; |
---|
89 | Takarengas.Image = trengaskuva; |
---|
90 | Takarengas.X = mopo.X - 80; |
---|
91 | Takarengas.Y = mopo.Y - 30; |
---|
92 | Takarengas.Color = Color.Transparent; |
---|
93 | Takarengas.Mass = 2; |
---|
94 | Takarengas.Restitution = 0.2; |
---|
95 | //Takarengas.KineticFriction = |
---|
96 | Add(Takarengas); |
---|
97 | AxleJoint Takaliitos = new AxleJoint(mopo, Takarengas); |
---|
98 | Add(Takaliitos); |
---|
99 | } |
---|
100 | |
---|
101 | void LuoTaso(Vector paikka, double leveys, double korkeus) |
---|
102 | { |
---|
103 | PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); |
---|
104 | taso.Position = paikka; |
---|
105 | //taso.Image = groundImage; |
---|
106 | //taso.CollisionIgnoreGroup = 1; |
---|
107 | Add(taso); |
---|
108 | } |
---|
109 | |
---|
110 | void LuoHyppy(Vector paikka, double leveys, double korkeus) |
---|
111 | { |
---|
112 | PhysicsObject Hyppy = PhysicsObject.CreateStaticObject(leveys*2, korkeus); |
---|
113 | Hyppy.Position = paikka; |
---|
114 | Hyppy.Shape = Shape.Triangle; |
---|
115 | //Hyppy.Image = hypynKuva; |
---|
116 | //Hyppy.Tag = "asdasd"; |
---|
117 | Add(Hyppy, 1); |
---|
118 | } |
---|
119 | } |
---|