source: 2013/30/VilleF/Lentokone/Lentokone/Lentokone/Lentokone.cs @ 4607

Revision 4607, 3.9 KB checked in by viosfilp, 6 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Lentokone : PhysicsGame
10{
11    private Animation sauruksenLento;
12
13
14
15    Image pommi = LoadImage("pommi");
16    Image maisema = LoadImage("havutausta");
17    Image havusaurus = LoadImage("havusaurus");
18    Vector nopeusYlos = new Vector(0, 1000);
19    Vector nopeusAlas = new Vector(0, -1000);
20    PhysicsObject pelaaja;
21    //PhysicsObject pommi;
22
23    public override void Begin()
24    {
25        sauruksenLento = LoadAnimation("animaatio");
26        Level.Width = 1920;
27        Level.Height = 1080;
28        //SetWindowSize(1024, 800, false);
29
30        Gravity = new Vector(0.0, -500);
31        //MediaPlayer.Play("
32
33
34
35       
36        LuoKentta();
37        LuoPelaaja();
38
39        pelaaja.Animation = sauruksenLento;
40        pelaaja.Animation.Start();
41        pelaaja.Animation.FPS = 3;
42       
43
44        Camera.ZoomToLevel();
45        //TiputaPommi();
46        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
47
48        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
49
50        Keyboard.Listen(Key.Left, ButtonState.Down,
51          HidastaPelaajaa, null);
52        Keyboard.Listen(Key.Right, ButtonState.Down,
53          LiikutaPelaajaa, null, 1);
54        Keyboard.Listen(Key.Up, ButtonState.Down,
55          KaannaPelaajaa, null, 1.0);
56        Keyboard.Listen(Key.Up, ButtonState.Released,
57          KaannaPelaajaa, null, 0.0);
58        Keyboard.Listen(Key.Down, ButtonState.Down,
59          KaannaPelaajaa, null, -1.0);
60        Keyboard.Listen(Key.Down, ButtonState.Released,
61          KaannaPelaajaa, null, 0.0);
62        Keyboard.Listen(Key.Space, ButtonState.Down, TiputaPommi, "Ammu");
63    }
64    void TiputaPommi()
65    {
66        gre
67    }
68    void KaannaPelaajaa(double kaannos)
69    {
70        pelaaja.AngularVelocity = kaannos;
71       
72    }
73
74
75    protected override void Update(Time time)
76    {
77        base.Update(time);
78        if (pelaaja != null)
79        {
80            if (pelaaja.Position.X > Level.Right) pelaaja.Position = new Vector(Level.Left, pelaaja.Position.Y);
81            if (pelaaja.Position.X < Level.Left) pelaaja.Position = new Vector(Level.Right, pelaaja.Position.Y);
82        }
83    }
84
85    void HidastaPelaajaa()
86    {
87        pelaaja.Velocity = new Vector(pelaaja.Velocity.X * 0.95, pelaaja.Velocity.Y);
88       
89    }
90
91    void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde)
92    {
93       
94    }
95    void LiikutaPelaajaa(int suunta)
96    {
97        pelaaja.Push(Vector.FromLengthAndAngle(3000*suunta, pelaaja.Angle));
98    }
99
100
101    void LuoKentta()
102    {
103        Level.Background.Image = maisema;
104        Level.Background.FitToLevel();
105        Surface alareuna = new Surface(Level.Width, 30, 50, 60, 10);
106        alareuna.Color = Color.Green;
107        alareuna.Bottom = Level.Bottom;
108        Add(alareuna);
109
110    }
111    void LuoPelaaja()
112    {
113        pelaaja = new PhysicsObject(150.0, 190.0);
114        pelaaja.Shape = Shape.FromImage(havusaurus);
115        pelaaja.Image = havusaurus;
116        pelaaja.LinearDamping = 0.99;
117
118        //pelaaja.MirrorImage();
119        Add(pelaaja);
120       AddCollisionHandler(pelaaja, CollisionHandler.ExplodeBoth(200, true));
121        pelaaja.MaxVelocity = 600;
122       Timer ajastin = new Timer();
123       ajastin.Interval = 0.1;
124       ajastin.Timeout += KaannaKohtiMaata;
125       ajastin.Start();
126    }
127
128    void KaannaKohtiMaata()
129    {
130        if((pelaaja.Angle.Degrees > 70) && (pelaaja.Angle.Degrees < 110))
131            return;
132        if ((pelaaja.Angle.Degrees >= 110) || (pelaaja.Angle.Degrees <= -90))
133            pelaaja.Angle = Angle.FromDegrees(pelaaja.Angle.Degrees + 0.4);
134        else
135            pelaaja.Angle = Angle.FromDegrees(pelaaja.Angle.Degrees - 0.4);
136    }
137
138   
139}
Note: See TracBrowser for help on using the repository browser.