source: 2012/23/LeoL/Tasohyppelypeli1.cs @ 2804

Revision 2804, 3.5 KB checked in by lemilaht, 8 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 tasohyppelypeli : PhysicsGame
10{
11    Vector nopeusYlos = new Vector(0, 500);
12    Vector nopeusOikea = new Vector(500, 0);
13    Vector nopeusVasen = new Vector(-500, 0);
14    //Image[] pelaajanKuvat = LoadImages("an4", "An1", "an3", "na2", "an5");
15    //Image[] pelaajanKuvatPeilattu;
16    PhysicsObject pelaaja;
17
18    public override void Begin()
19    {
20       // pelaajanKuvatPeilattu = Image.Mirror(pelaajanKuvat);
21
22        LuoKenttä();
23        lataaKenttä();
24        AsetaOhjaimet();
25        //Aloitapeli();
26        //animaatio();
27        //pelaaja.Animation.Start();
28    }
29
30    void lataaKenttä()
31    {
32    }
33
34    void LuoKenttä()
35    {
36        TileMap ruudut = TileMap.FromLevelAsset("Kentta1");
37        ruudut.SetTileMethod('_', LuoPalikka);
38        ruudut.SetTileMethod('.', LuoSeina);
39        ruudut.SetTileMethod('"', LuoPiikki);
40        ruudut.SetTileMethod('!', LuoPelaaja);
41        ruudut.Execute(20, 20);
42        Level.Background.Color = Color.ForestGreen;
43        Camera.Follow(pelaaja);
44        Gravity = new Vector(0, -5000);
45    }
46
47    void LuoPalikka(Vector paikka, double leveys, double korkeus)
48    {
49        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
50        palikka.Position = paikka;
51        palikka.Shape = Shape.Rectangle;
52        palikka.Color = Color.DarkBrown;
53        Add(palikka);
54    }
55
56    void LuoSeina(Vector paikka, double leveys, double korkeus)
57    {
58        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus);
59        seina.Position = paikka;
60        seina.Shape = Shape.Rectangle;
61        seina.Color = Color.DarkBrown;
62        Add(seina);
63    }
64
65    void LuoPiikki(Vector paikka, double leveys, double korkeus)
66    {
67        PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus);
68        piikki.Position = paikka;
69        piikki.Shape = Shape.Triangle;
70        piikki.Color = Color.Black;
71        Add(piikki);
72    }
73
74    void AsetaOhjaimet()
75    {
76        Keyboard.Listen(Key.Escape, ButtonState.Down, ConfirmExit, "Poistu pelistä");
77
78        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja liikkuu vasemmalle", pelaaja, nopeusVasen);
79        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
80        Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Pelaaaja hyppää  ylös", pelaaja, nopeusYlos);
81        Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
82        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Pelaaja Liikkuu Oikealle", pelaaja, nopeusOikea);
83        Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
84        //Keyboard.Listen(Key.E, ButtonState.Pressed,
85    }
86
87    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
88    {
89        pelaaja = new PhysicsObject(50, 100);
90        pelaaja.Position = paikka;
91        pelaaja.Shape = Shape.Star;
92        pelaaja.Color = Color.Aquamarine;
93        pelaaja.CanRotate = false;
94        pelaaja.Mass = 500;
95        Add(pelaaja);
96    }
97
98    void AsetaNopeus(PhysicsObject Pelaaja, Vector nopeus)
99    {
100        Pelaaja.Velocity = nopeus;
101    }
102
103    //void animaatio()
104    //{
105    //    pelaaja.Animation = new Animation(pelaajanKuvat);
106    //    pelaaja.Animation = new Animation(pelaajanKuvatPeilattu);
107    //}
108}
109
Note: See TracBrowser for help on using the repository browser.