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

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