source: 2016/30/AleksiN/name/name/name/name.cs @ 8160

Revision 8160, 2.6 KB checked in by almajono, 3 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 name : PhysicsGame
10{
11
12    Image motorbike = LoadImage("motorbike");
13    Image tire = LoadImage("tire");
14    PhysicsStructure bike;
15    public override void Begin()
16
17    {
18
19        SmoothTextures = true;
20        IsFullScreen = true;
21
22        AddPlayer();
23        Points();
24        Keys();
25       
26        Surface level = Surface.CreateBottom(Level, 30, 100, 10, 100);
27        Add(level);
28        Gravity = new Vector(0.0, -800.0);
29
30        Wind = new Vector(-25, 0);
31        Smoke smoke = new Smoke();
32       
33        Timer savu = new Timer();
34        savu.Interval = 0.1;
35        savu.Timeout += delegate
36        {
37            SiirraSavua(smoke);
38        };
39        savu.Start();
40        Add(smoke);
41
42    }
43
44    void AddPlayer()
45    {
46        PhysicsObject leftTire = new PhysicsObject(57.5, 57.5, Shape.Circle);
47        PhysicsObject rightTire = new PhysicsObject(57.5, 57.5, Shape.Circle);
48        PhysicsObject bike = new PhysicsObject(250.0, 200.0);
49        leftTire.X = -70.0;
50        leftTire.Y = -260.0;
51        rightTire.X = 65.0;
52        rightTire.Y = -260.0;
53        bike.X = 0;
54        bike.Y = -200;
55        leftTire.Image = tire;
56        rightTire.Image = tire;
57        bike.Image = motorbike;
58        this.bike = new PhysicsStructure(leftTire, rightTire, bike);
59        bike.IgnoresCollisionResponse = true;
60        Add(this.bike);
61        Add(bike);
62    }
63    void Keys()
64    {
65        Keyboard.Listen(Key.Down, ButtonState.Down, Movement, null, new Vector(-2000, 0));
66        Keyboard.Listen(Key.Up, ButtonState.Down, Movement, null, new Vector(2000, 0));
67        Keyboard.Listen(Key.Left, ButtonState.Down, ChangeAngle, null, 2.5);
68        Keyboard.Listen(Key.Right, ButtonState.Down, ChangeAngle, null, -2.5);
69        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
70    }
71    void Movement(Vector movement)
72    {
73        bike.Push(movement);
74    }
75    void ChangeAngle(double ammount)
76    {
77        bike.AngularVelocity = ammount;
78    }
79    IntMeter pointCounter;
80    void Points()
81    {
82        pointCounter = new IntMeter(0);
83        Label pointLabel = new Label();
84        pointLabel.X = Screen.Left + 100;
85        pointLabel.Y = Screen.Top - 100;
86        pointLabel.TextColor = Color.Black;
87        pointLabel.Color = Color.White;
88        pointLabel.BindTo(pointCounter);
89        Add(pointLabel);
90    }
91
92    void SiirraSavua(Smoke smoke)
93    {
94    smoke.Position = bike.Position;
95    }
96
97}
Note: See TracBrowser for help on using the repository browser.