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 IslandSurvival : PhysicsGame |
---|
10 | { |
---|
11 | public override void Begin() |
---|
12 | { |
---|
13 | |
---|
14 | |
---|
15 | |
---|
16 | Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); |
---|
17 | } |
---|
18 | void LuoKentta() |
---|
19 | { |
---|
20 | //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä. |
---|
21 | ColorTileMap ruudut = ColorTileMap.FromLevelAsset("map1"); |
---|
22 | |
---|
23 | //2. Kerrotaan mitä aliohjelmaa kutsutaan, kun tietyn värinen pikseli tulee vastaan kuvatiedostossa. |
---|
24 | ruudut.SetTileMethod(Color.Green, LuoPelaaja); |
---|
25 | ruudut.SetTileMethod(Color.Black, LuoTaso); |
---|
26 | ruudut.SetTileMethod(Color.Yellow, LuoTahti); |
---|
27 | kentta.Optimize(Color.Black); |
---|
28 | //3. Execute luo kentän |
---|
29 | // Parametreina leveys ja korkeus |
---|
30 | ruudut.Execute(20, 20); |
---|
31 | } |
---|
32 | |
---|
33 | void LuoPelaaja(Vector paikka, double leveys, double korkeus) |
---|
34 | { |
---|
35 | pelaaja = new PlatformCharacter(10, 10); |
---|
36 | pelaaja.CanRotate = false; |
---|
37 | pelaaja.Position = paikka; |
---|
38 | AddCollisionHandler(pelaaja, "tahti", TormaaTahteen); |
---|
39 | Add(pelaaja); |
---|
40 | } |
---|
41 | |
---|
42 | void LuoTaso(Vector paikka, double leveys, double korkeus) |
---|
43 | { |
---|
44 | PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); |
---|
45 | taso.Position = paikka; |
---|
46 | // taso.Image = groundImage; |
---|
47 | taso(Color.Green); |
---|
48 | taso.CollisionIgnoreGroup = 1; |
---|
49 | Add(taso); |
---|
50 | } |
---|
51 | |
---|
52 | void LuoTahti(Vector paikka, double leveys, double korkeus) |
---|
53 | { |
---|
54 | PhysicsObject tahti = new PhysicsObject(5, 5); |
---|
55 | tahti.IgnoresCollisionResponse = true; |
---|
56 | tahti.Position = paikka; |
---|
57 | tahti.Image = tahdenKuva; |
---|
58 | tahti.Tag = "tahti"; |
---|
59 | Add(tahti, 1); |
---|
60 | } |
---|
61 | } |
---|