source: 2016/26/HeiniI/CloudJump/CloudJump/CloudJump/CloudJump.cs @ 7567

Revision 7567, 3.8 KB checked in by hekaihal, 5 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 CloudJump : PhysicsGame
10{
11   
12    PlatformCharacter lammas;
13    Image pelaajanKuva = LoadImage("lammas");
14    Image Oikeatausta = LoadImage("Oikeatausta1");
15    Image pinkkilaattakuva = LoadImage("pinkkilaatta");
16    Image liilalaattakuva = LoadImage("liilalaatta");
17    const double nopeus = 200;
18    const double hyppyNopeus = 750;
19
20    public override void Begin()
21    {
22        Gravity = new Vector(0, -1000);
23       
24        LuoKentta();
25        LisaaNappaimet();
26
27        Camera.Follow(lammas);
28        Camera.ZoomFactor = 1.2;
29        Camera.StayInLevel = true;
30    }
31
32    void LuoKentta()
33    {
34
35        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Oikeatausta1");
36       
37        ruudut.SetTileMethod(Color.FromHexCode("#FFFF3A61"),LisaaPilvi);
38        ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LisaaLammas);
39        ruudut.SetTileMethod(Color.Black, PohjaLaatta);
40        ruudut.SetTileMethod(Color.FromHexCode("#FF00FF08"), PuunRunko);
41
42        ruudut.Execute(20, 20);
43        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
44
45    }
46    void LisaaPilvi(Vector paikka, double leveys, double korkeus)
47    {
48        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
49        taso.Position = paikka;
50        taso.Color = Color.Green;
51        Add(taso);
52    }
53    void LisaaLammas(Vector paikka, double leveys, double korkeus)
54    {
55        lammas = new PlatformCharacter(leveys, korkeus);
56        lammas.Position = paikka;
57        lammas.Image = pelaajanKuva;
58        lammas.Tag = "lammas";
59        Add(lammas);
60
61    }
62    void LuoTaso(Vector paikka,double leveys, double korkeus)
63    {
64        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
65        taso.Position = paikka;
66        taso.Image = Oikeatausta;
67        Add(taso);
68    }
69   void PohjaLaatta(Vector paikka, double leveys, double korkeus)
70    {
71        PhysicsObject pinkkilaatta = PhysicsObject.CreateStaticObject(leveys, korkeus);
72        pinkkilaatta.Position = paikka;
73        pinkkilaatta.Image = pinkkilaattakuva;
74        Add(pinkkilaatta);
75    }
76
77    void PuunRunko(Vector paikka, double leveys, double korkeus)
78    {
79        PhysicsObject liilalaatta = PhysicsObject.CreateStaticObject(leveys, korkeus);
80        liilalaatta.Position = paikka;
81        liilalaatta.Image = liilalaattakuva;
82        Add(liilalaatta);
83    }
84        void LisaaNappaimet()
85    {
86        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
87        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
88
89        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", lammas, -nopeus);
90        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", lammas, nopeus);
91        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", lammas, hyppyNopeus);
92
93        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
94
95        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", lammas, -nopeus);
96        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", lammas, nopeus);
97        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", lammas, hyppyNopeus);
98
99        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
100       
101
102    }
103
104    void Liikuta(PlatformCharacter hahmo, double nopeus)
105    {
106        hahmo.Walk(nopeus);
107    }
108
109    void Hyppaa(PlatformCharacter hahmo, double nopeus)
110    {
111        hahmo.Jump(nopeus);
112    } 
113   
114
115   
116   
117}
Note: See TracBrowser for help on using the repository browser.