source: 2014/27/ArttuR/Peli_1/Peli_1/Peli_1/Peli_1/Peli_1.cs @ 5205

Revision 5205, 3.1 KB checked in by arosrinn, 6 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 Peli_1 : PhysicsGame
10{
11    PhysicsObject pelaaja;
12    Vector suunta;
13
14    Image seinaKuva = LoadImage("Seina_1");
15    Image pelaajanKuva = LoadImage("Pelaaja");
16    Image lattiaKuva = LoadImage("Lattia_1");
17
18    public override void Begin()
19    {
20        LuoKentta();
21        LisaaOhjaimet();
22        LuoPelaaja(Level.Left + 50, 0);
23        Camera.Follow(pelaaja);
24
25        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
26        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
27    }
28
29    void LuoKentta()
30    {
31        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kentta_1");
32
33        Level.Background.Color = Color.Black;
34
35        //ruudut.SetTileMethod(Color.FromHexCode("00FF00"), LuoPelaaja);
36        ruudut.SetTileMethod(Color.Black, LuoSeina);
37        //ruudut.SetTileMethod(Color.Yellow, LuoAvain);
38        //ruudut.SetTileMethod(Color.Red, LuoVihu);
39        //ruudut.SetTileMethod(Color.Brown, LuoOvi);
40        ruudut.SetTileMethod(Color.White, LuoLattia);
41        ruudut.Execute(40, 40);
42
43        IsMouseVisible = true;
44    }
45
46    void LisaaOhjaimet()
47    {
48        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1500, 0));
49        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1500, 0));
50        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1500));
51        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1500));
52    }
53
54    void LiikutaPelaajaa(Vector vektori)
55    {
56        pelaaja.Push(vektori);
57    }
58
59    void LuoPelaaja(double x, double y)
60    {
61        pelaaja = new PhysicsObject(20, 20);
62        pelaaja.Shape = Shape.Circle;
63        //pelaaja.Position = paikka;
64        pelaaja.X = x;
65        pelaaja.Y = y;
66        pelaaja.LinearDamping = 0.5;
67        pelaaja.Image = pelaajanKuva;
68        pelaaja.RotateImage = true;
69        //pelaaja.Angle = Angle.FromDegrees(270);
70        Add(pelaaja, 3);
71
72        Mouse.ListenMovement(1.0, KaannaPelaajanKuvaa, "");
73    }
74
75
76    void KaannaPelaajanKuvaa(AnalogState hiirenLiike)
77    {
78        suunta = (Mouse.PositionOnWorld - pelaaja.AbsolutePosition).Normalize();
79        pelaaja.Angle = suunta.Angle;
80    }
81
82
83    void LuoAvain(Vector paikka, double leveys, double korkeus)
84    {
85        PhysicsObject avain = new PhysicsObject(20, 20);
86    }
87
88
89    void LuoSeina(Vector paikka, double leveys, double korkeus)
90    {
91        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus);
92        seina.Position = paikka;
93        seina.Image = seinaKuva;
94        seina.CollisionIgnoreGroup = 1;
95        Add(seina,3);
96    }
97
98
99    void LuoLattia(Vector paikka, double leveys, double korkeus)
100    {
101        GameObject lattia = new GameObject(40, 40);
102        lattia.Position = paikka;
103        lattia.Image = lattiaKuva;
104        Add(lattia,-3);
105    }
106}
Note: See TracBrowser for help on using the repository browser.