source: 2016/koodauskerho/OttoK/peli2/peli2/peli2/peli2.cs @ 8375

Revision 8375, 2.4 KB checked in by tesatapa, 2 years ago (diff)
RevLine 
[8375]1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class peli2 : PhysicsGame
10{
11    Image oranssialuskuva = LoadImage("oranssialus");
12    Image vihreealuskuva = LoadImage("vihreealus");
13
14    public override void Begin()
15    {
16        SmoothTextures = false;
17
18        PhysicsObject vihreealus = TeeAlus(100, 100, vihreealuskuva);
19
20        PhysicsObject oranssialus = TeeAlus(200, 200, oranssialuskuva);
21
22        PhoneBackButton.Listen(ConfirmExit, "Quit");
23        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Quit");
24        Keyboard.Listen(Key.Up, ButtonState.Down, Liiku, "Liiku", vihreealus, 800.0);
25        Keyboard.Listen(Key.Right, ButtonState.Down, Kaanny, "Käänny", vihreealus, -8000.0);
26        Keyboard.Listen(Key.Left, ButtonState.Down, Kaanny, "Käänny", vihreealus, 8000.0);
27        Keyboard.Listen(Key.RightControl, ButtonState.Pressed, ammu, "Ammu", vihreealus);
28
29        Keyboard.Listen(Key.W, ButtonState.Down, Liiku, "Liiku", oranssialus, 800.0);
30        Keyboard.Listen(Key.D, ButtonState.Down, Kaanny, "Käänny", oranssialus, -8000.0);
31        Keyboard.Listen(Key.A, ButtonState.Down, Kaanny, "Käänny", oranssialus, 8000.0);
32
33        Level.Background.Color = Color.Black;
34        Level.Background.CreateStars();
35    }
36
37    void ammu(PhysicsObject pelaaja)
38    {
39        PhysicsObject ammus = new PhysicsObject(15, 15);
40        ammus.Angle = pelaaja.Angle + Angle.FromDegrees(90);
41        ammus.Velocity = Vector.FromLengthAndAngle(100, pelaaja.Angle + Angle.FromDegrees(90));
42        ammus.Position = pelaaja.Position + Vector.FromLengthAndAngle(pelaaja.Width * 0.75, pelaaja.Angle + Angle.FromDegrees(90));
43        Add(ammus);
44    }
45    PhysicsObject TeeAlus(double x, double y, Image aluskuva )
46    {
47        PhysicsObject alus = new PhysicsObject(60, 70);
48        alus.Position = new Vector(x, y);
49        alus.Shape = Shape.Rectangle;
50        alus.Image = aluskuva;
51        alus.LinearDamping = 0.98;
52        alus.AngularDamping = 0.98;
53        Add(alus);
54        return alus;
55    }
56    void Liiku(PhysicsObject alus, double nopeus)
57    {
58        alus.Push((alus.Angle + Angle.FromDegrees(90)).GetVector() * nopeus);
59    }
60    void Kaanny(PhysicsObject alus, double nopeus)
61    {
62        alus.ApplyTorque(nopeus);
63    }
64}
Note: See TracBrowser for help on using the repository browser.