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

Revision 9137, 2.9 KB checked in by npo17_55, 2 years ago (diff)

Pelaajaa voi nyt liikuttaa

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    void LuoOlioH(Vector paikka, double leveys, double korkeus)
34    {
35         OlioH = new PlatformCharacter(leveys, korkeus);
36        OlioH.Position = paikka;
37        //AddCollisionHandler(OlioH, "Pahis", TormaaVihuun);
38        Add(OlioH);
39        OlioH.Color = Color.Gold;
40        OlioH.Shape = Shape.Circle;
41    }
42    void LuoTaso(Vector paikka, double leveys, double korkeus)
43    {
44        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus);
45        seina.Position = paikka;
46        //seina.Image = kenttaKuva;
47        seina.Color = Color.Black;
48        seina.CollisionIgnoreGroup = 1;
49        Add(seina);
50    }
51    void LuoOlioP(Vector paikka, double leveys, double korkeus)
52    {
53        PhysicsObject OlioP = new PhysicsObject(leveys, korkeus);
54        OlioP.IgnoresCollisionResponse = true;
55        OlioP.Position = paikka;
56        //OlioP.Image = Pahankuva;
57        OlioP.Tag = "Pahis";
58        Add(OlioP, 1);
59        OlioP.Color = Color.Red;
60        OlioP.Shape = Shape.Circle;
61
62        PathFollowerBrain polkuAivot = new PathFollowerBrain(200);
63        OlioP.Brain = polkuAivot;
64
65        polkuAivot.Active = true;
66        polkuAivot.TurnWhileMoving = true;
67        polkuAivot.Speed = 100;
68
69        List<Vector> polku = new List<Vector>();
70
71        polku.Add(new Vector(-50, -100));
72        polku.Add(new Vector(-100, 50));
73        polku.Add(new Vector(-250, -200));
74
75        polkuAivot.Path = polku;
76        polkuAivot.Loop = true;
77
78    }
79    void LuoOhjaimet()
80    {
81        Keyboard.Listen(Key.Left, ButtonState.Down, 
82        LiikutaPelaajaa, null, new Vector(-29000, 0));
83        Keyboard.Listen(Key.Right, ButtonState.Down,
84        LiikutaPelaajaa, null, new Vector(29000, 0));
85        Keyboard.Listen(Key.Up, ButtonState.Down,
86        LiikutaPelaajaa, null, new Vector(0, 2000));
87        Keyboard.Listen(Key.Down, ButtonState.Down,
88        LiikutaPelaajaa, null, new Vector(0, -2000));
89
90    }
91    void LiikutaPelaajaa(Vector vektori)
92    {
93       OlioH.Push(vektori);
94    }
95}
Note: See TracBrowser for help on using the repository browser.