source: 2013/27/LeoL/Hounted Hause/Hounted Hause/Hounted Hause/Hounted_Hause.cs @ 4368

Revision 4368, 3.5 KB checked in by leoliukk, 7 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Hounted_Hause : PhysicsGame
10{
11    Image PelaajaKuva = LoadImage("Char");
12    Image avainKuva = LoadImage("Avain");
13    Image örkkiKuva = LoadImage("Ghost");
14
15    PhysicsObject pelaaja;
16
17    public override void Begin()
18    {
19        LuoKentta();
20
21        MediaPlayer.Play("taustamusiikki");
22
23        Camera.Follow(pelaaja);
24        Camera.ZoomFactor = 5.0;
25        Camera.StayInLevel = true;
26
27        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-100, 0), pelaaja);
28        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, null, new Vector(100, 0), pelaaja);
29        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 100), pelaaja);
30        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -100), pelaaja);
31
32        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
33        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
34    }
35
36    void LiikutaPelaajaa(Vector vektori, PhysicsObject pelaaja)
37    {
38        pelaaja.Velocity = vektori;
39
40    }
41
42    void LuoKentta()
43    {
44        //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä.
45        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kentta1");
46
47        //2. Kerrotaan mitä aliohjelmaa kutsutaan, kun tietyn värinen pikseli tulee vastaan kuvatiedostossa.
48        ruudut.SetTileMethod("FFD800", LuoPelaaja);
49        ruudut.SetTileMethod(Color.Black, LuoTaso);
50        ruudut.SetTileMethod("FF0000", LuoAvain);
51        ruudut.SetTileMethod("B6FF00", LuoÖrkki);
52
53        //3. Execute luo kentän
54        //   Parametreina leveys ja korkeus
55        ruudut.Execute(40, 40);
56    }
57
58    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
59    {
60        pelaaja = new PhysicsObject(39, 39);
61        pelaaja.Shape = Shape.Circle;
62        pelaaja.Image = PelaajaKuva;
63        pelaaja.CanRotate = false;
64        pelaaja.Position = paikka;
65        pelaaja.Restitution = 0.0;
66        pelaaja.KineticFriction = 0.0;
67        AddCollisionHandler(pelaaja, "avain", TormaaAvaimeen);
68        Add(pelaaja);
69    }
70
71    void LuoÖrkki(Vector paikka, double leveys, double korkeus)
72    {
73        PhysicsObject orkki = new PhysicsObject(39,39);
74        orkki.Shape = Shape.Circle;
75        orkki.Image = örkkiKuva;
76        orkki.CanRotate = false;
77        orkki.Position = paikka;
78        orkki.Restitution = 0.0;
79        orkki.KineticFriction = 0.0;
80        //AddCollisionHandler(orkki, "pelaaja", Tormaaorkkiin);
81        Add(orkki);
82    }
83
84    void TormaaAvaimeen(PhysicsObject pelaaja, PhysicsObject avain)
85    {
86        avain.Destroy();
87    }
88
89    void LuoTaso(Vector paikka, double leveys, double korkeus)
90    {
91        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
92        taso.Position = paikka;
93        Level.BackgroundColor = Color.Black;
94        taso.Color = new Color(15,3,11);
95        taso.CollisionIgnoreGroup = 1;
96        Add(taso);
97    }
98    void LuoAvain(Vector paikka, double leveys, double korkeus)
99    {
100        PhysicsObject tahti = new PhysicsObject(leveys, korkeus);
101        tahti.IgnoresCollisionResponse = true;
102        tahti.Position = paikka;
103        tahti.Image = avainKuva;
104        tahti.Tag = "avain";
105        Add(tahti, 1);
106    }
107
108}
Note: See TracBrowser for help on using the repository browser.