source: 2013/30/JesseM/alone in the dark/alone in the dark/alone in the dark/alone_in_the_dark.cs @ 4642

Revision 4642, 3.5 KB checked in by jeattama, 7 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 alone_in_the_dark : PhysicsGame
10{
11    Image olionKuva = LoadImage("ukkeli");
12    Image[] ukkelinKavely = LoadImages("animaatio", "animaatio2");
13       
14    PhysicsObject pelaaja;
15
16    const double nopeus = 555;
17
18    public override void Begin()
19    {
20
21        LuoKentta();
22
23        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
24    }
25
26    void LuoKentta()
27    {
28        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Untitled");
29        ruudut.SetTileMethod(Color.Black, LuoTaso);
30        //ruudut.SetTileMethod(Color.yellow, LuoHirvio);
31        ruudut.SetTileMethod("0026FF", LuoOvi);
32        ruudut.SetTileMethod("FF006E", LuoPelaaja);
33        ruudut.Execute(20, 20);
34        Level.BackgroundColor = Color.Gray;
35        //Camera.ZoomToLevel();
36        Camera.Follow(pelaaja);
37        Camera.ZoomFactor = 10.5;
38
39        IsMouseVisible = true;
40    }
41
42    void LuoTaso(Vector paikka, Double leveys, Double korkeus)
43    {
44        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
45        taso.Position = paikka;
46        //taso.Image = groundImage;
47        taso.Color = Color.Black;
48        taso.CollisionIgnoreGroup = 1;
49        Add(taso);
50    }
51
52    void LuoOvi(Vector paikka, Double leveys, Double korkeus)
53    {
54        PhysicsObject ovi = PhysicsObject.CreateStaticObject(leveys, korkeus);
55        ovi.Position = paikka;
56        ovi.Color = Color.Blue;
57        ovi.CollisionIgnoreGroup = 1;
58        Add(ovi);
59    }
60
61    void LuoPelaaja(Vector paikka, Double leveys, Double korkeus)
62    {
63        pelaaja = new PhysicsObject(10, 10);
64        pelaaja.Position = paikka;
65        pelaaja.Color = Color.Pink;
66        pelaaja.LinearDamping = 0.8;
67        Add(pelaaja);
68        pelaaja.Animation = new Animation(ukkelinKavely);
69        pelaaja.Animation.FPS = 10;
70        //pelaaja.Animation.Start();
71        //pelaaja.Image = olionKuva;
72        pelaaja.CanRotate = false;
73        LuoNappaimet(pelaaja);
74    }
75
76    void LuoNappaimet(PhysicsObject pelaaja)                           
77    {
78        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, nopeus), pelaaja);
79        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0,-nopeus), pelaaja);
80        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-nopeus, 0), pelaaja);
81        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(nopeus, 0), pelaaja);
82        Keyboard.Listen(Key.W, ButtonState.Released, animaationpysaytys, null);
83        Keyboard.Listen(Key.S, ButtonState.Released, animaationpysaytys, null);
84        Keyboard.Listen(Key.A, ButtonState.Released, animaationpysaytys, null);
85        Keyboard.Listen(Key.D, ButtonState.Released, animaationpysaytys, null);
86        Mouse.ListenMovement(0.5, Tahtaa, "Tähtää aseella");
87    }
88
89    void LiikutaPelaajaa(Vector vektori, PhysicsObject pelaaja)
90    {
91        pelaaja.Push(vektori);
92        pelaaja.Animation.Resume();
93    }
94
95    void Tahtaa(AnalogState hiirenLiike)
96    {
97        Vector suunta = (Mouse.PositionOnWorld - pelaaja.AbsolutePosition).Normalize();
98        pelaaja.Angle = suunta.Angle - Angle.RightAngle;
99    }
100
101    void animaationpysaytys()
102
103    {
104        pelaaja.Animation.Stop();
105    }
106}
107
108
109
110
Note: See TracBrowser for help on using the repository browser.