source: 2016/27/OttoK/Survivetown/Survivetown/Survivetown/Survivetown.cs @ 7756

Revision 7756, 2.5 KB checked in by karkaite, 4 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 Survivetown : PhysicsGame
10{
11    Image olionKuva = LoadImage("pelikissa");
12    Image taustakuva = LoadImage("grassbackground");
13    PhysicsObject pelaaja;
14    double nopeus = 1000;
15    bool sprint = false;
16
17    public override void Begin()
18    {
19        LuoKentta();
20        LisaaOhjaimet();
21
22        Keyboard.Listen(Key.Left, ButtonState.Down,
23        LiikutaPelaajaa, null, new Vector(-nopeus, 0));
24        Keyboard.Listen(Key.Right, ButtonState.Down,
25        LiikutaPelaajaa, null, new Vector(nopeus, 0));
26        Keyboard.Listen(Key.Up, ButtonState.Down,
27        LiikutaPelaajaa, null, new Vector(0, nopeus));
28        Keyboard.Listen(Key.Down, ButtonState.Down,
29        LiikutaPelaajaa, null, new Vector(0, -nopeus));
30
31        Keyboard.Listen(Key.LeftShift, ButtonState.Down, () => { sprint = true; }, "juokse");
32        Keyboard.Listen(Key.LeftShift, ButtonState.Released, () => { sprint = false; }, "");
33    }
34    void LuoKentta()
35    {
36        IsFullScreen = false;
37
38        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kenttav2");
39        ruudut.SetTileMethod(Color.Red, LuoPelaaja);
40        ruudut.SetTileMethod(Color.Black, LuoTaso);
41        ruudut.Execute(20, 20);
42
43        Level.Size = new Vector(4000, 4000);
44        Level.CreateBorders();
45        Level.Background.Image = taustakuva;
46        Level.Background.FitToLevel();
47    }
48    void LisaaOhjaimet()
49    {
50        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
51        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");     
52    }
53    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
54    {
55        pelaaja = new PhysicsObject(80, 50);
56        pelaaja.LinearDamping = 0.9;
57        pelaaja.Color = Color.Yellow;
58        pelaaja.CanRotate = false;
59        Add(pelaaja);
60        Camera.Follow(pelaaja);
61    }
62    void LuoTaso(Vector paikka, double leveys, double korkeus)
63    {
64        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
65        taso.Position = paikka;
66        taso.Color = Color.Black;
67        taso.CollisionIgnoreGroup = 1;
68        Add(taso);
69    }
70
71    void LiikutaPelaajaa(Vector vektori)
72    {   if(sprint)
73        {
74            pelaaja.Push(vektori * 2);
75            return;
76        }
77        pelaaja.Push(vektori);
78    }
79    void VaihdaNopeus()
80    {
81    }
82}
Note: See TracBrowser for help on using the repository browser.