source: 2017/24/AaronL/AdventureLunk/AdventureLunk/AdventureLunk/AdventureLunk.cs @ 8674

Revision 8674, 3.3 KB checked in by npo17_21, 2 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class AdventureLunk : PhysicsGame
10{
11    PhysicsObject link;
12    Image linkKuva = LoadImage("link");
13
14    Image linkOikea = LoadImage("link2");
15
16    Image linkVasen = LoadImage("link5");
17
18    Image linkYlos = LoadImage("link4");
19    public override void Begin()
20    {
21        SmoothTextures = false;
22        // TODO: Kirjoita ohjelmakoodisi tähän
23        LuoKentta();
24        Paika();
25
26        Camera.Follow(link);
27
28        Camera.Zoom(1.3);
29
30        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaLink, null, new Vector(-500, 0));
31        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaLink, null, new Vector(500, 0));
32        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaLink, null, new Vector(0, 500));
33        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaLink, null, new Vector(0, -500));
34        {
35            Keyboard.Listen(Key.Left, ButtonState.Released, PysaytaLink, null);
36            Keyboard.Listen(Key.Right, ButtonState.Released, PysaytaLink, null);
37            Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaLink, null);
38            Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaLink, null);
39        } 
40       
41
42        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
43        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
44    }
45    void LiikutaLink(Vector vektori)
46    {
47        if (vektori.X < 0)
48        {
49            link.Image = linkVasen;
50        }
51        else if (vektori.X > 0)
52        {
53            link.Image = linkOikea;
54        }
55        else if (vektori.Y > 0)
56        {
57            link.Image = linkYlos;
58        }
59        else
60        {
61            link.Image = linkKuva;
62        }
63
64        link.Velocity = vektori;
65    }
66
67    void Paika()
68    {
69        Level.Background.Image = LoadImage("paika1"); Level.Background.FitToLevel();
70    }
71    void LuoKentta()
72    {
73        //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä.
74        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("paika1");
75
76        //2. Kerrotaan mitä aliohjelmaa kutsutaan, kun tietyn värinen pikseli tulee vastaan kuvatiedostossa.
77       
78        //ruudut.SetTileMethod(Color.Green, LuoPelaaja);
79        ruudut.SetTileMethod(Color.FromHexCode("28FFA5"), LuoTaso);
80
81        LuoPelaaja(Vector.Zero, 100, 100);
82
83        //3. Execute luo kentän
84        //   Parametreina leveys ja korkeus
85        ruudut.Execute(20, 20);
86    }
87
88    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
89    {
90        link = new PlatformCharacter(leveys, korkeus);
91        link.Position = paikka;
92        link.Image = linkKuva;
93        //AddCollisionHandler(link, "tahti", TormaaTahteen);
94        Add(link);
95    }
96
97    void LuoTaso(Vector paikka, double leveys, double korkeus)
98    {
99        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
100        taso.Position = paikka;
101        taso.Color = Color.Green;
102        taso.CollisionIgnoreGroup = 1;
103        Add(taso);
104    }
105
106    void PysaytaLink()
107    {
108        LiikutaLink(Vector.Zero);
109    }
110
111   
112
113
114}
Note: See TracBrowser for help on using the repository browser.