source: 2017/30/MainiI/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs @ 9139

Revision 9139, 2.9 KB checked in by npo17_55, 6 years ago (diff)

Taustan väriä vaihdettu

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class FysiikkaPeli1 : PhysicsGame
10{
11    Image kenttaKuva = LoadImage("Kentta");
12    Image Pahankuva = LoadImage("Pahis");
13    PlatformCharacter OlioH;
14    public override void Begin()
15    {
16         Luokenttä();
17         LuoOhjaimet();
18
19        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
20        Camera.ZoomToLevel(-1000);
21
22    }
23    void Luokenttä()
24    {
25        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kentta");
26
27        ruudut.SetTileMethod(Color.Gold, LuoOlioH);
28        ruudut.SetTileMethod(Color.Black, LuoTaso);
29        ruudut.SetTileMethod(Color.Red, LuoOlioP);
30
31        ruudut.Execute(50, 50);
32
33        Level.Background.Color = Color.White;
34    }
35    void LuoOlioH(Vector paikka, double leveys, double korkeus)
36    {
37         OlioH = new PlatformCharacter(leveys, korkeus);
38        OlioH.Position = paikka;
39        //AddCollisionHandler(OlioH, "Pahis", TormaaVihuun);
40        Add(OlioH);
41        OlioH.Color = Color.Gold;
42        OlioH.Shape = Shape.Circle;
43    }
44    void LuoTaso(Vector paikka, double leveys, double korkeus)
45    {
46        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus);
47        seina.Position = paikka;
48        //seina.Image = kenttaKuva;
49        seina.Color = Color.Black;
50        seina.CollisionIgnoreGroup = 1;
51        Add(seina);
52    }
53    void LuoOlioP(Vector paikka, double leveys, double korkeus)
54    {
55        PhysicsObject OlioP = new PhysicsObject(leveys, korkeus);
56        OlioP.IgnoresCollisionResponse = true;
57        OlioP.Position = paikka;
58        //OlioP.Image = Pahankuva;
59        OlioP.Tag = "Pahis";
60        Add(OlioP, 1);
61        OlioP.Color = Color.Red;
62        OlioP.Shape = Shape.Circle;
63
64        PathFollowerBrain polkuAivot = new PathFollowerBrain(200);
65        OlioP.Brain = polkuAivot;
66
67        polkuAivot.Active = true;
68        polkuAivot.TurnWhileMoving = true;
69        polkuAivot.Speed = 100;
70
71        List<Vector> polku = new List<Vector>();
72
73        polku.Add(new Vector(-50, -100));
74        polku.Add(new Vector(-100, 50));
75        polku.Add(new Vector(-250, -200));
76
77        polkuAivot.Path = polku;
78        polkuAivot.Loop = true;
79
80    }
81    void LuoOhjaimet()
82    {
83        Keyboard.Listen(Key.Left, ButtonState.Down, 
84        LiikutaPelaajaa, null, new Vector(-29000, 0));
85        Keyboard.Listen(Key.Right, ButtonState.Down,
86        LiikutaPelaajaa, null, new Vector(29000, 0));
87        Keyboard.Listen(Key.Up, ButtonState.Down,
88        LiikutaPelaajaa, null, new Vector(0, 2000));
89        Keyboard.Listen(Key.Down, ButtonState.Down,
90        LiikutaPelaajaa, null, new Vector(0, -2000));
91
92    }
93    void LiikutaPelaajaa(Vector vektori)
94    {
95       OlioH.Push(vektori);
96    }
97}
Note: See TracBrowser for help on using the repository browser.