source: esimerkit/2012k/live/live07/LumiukkoRiehuu/LumiukkoRiehuu/LumiukkoRiehuu.cs @ 1483

Revision 395, 2.2 KB checked in by anlakane, 6 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
9/// @author Antti-Jussi Lakanen, Vesa Lappalainen
10/// @version 31.1.2012
11
12/// <summary>
13/// Pistetään lumiukko liikkeelle.
14/// </summary>
15public class LumiukkoRiehuu : PhysicsGame
16{
17    /// <summary>
18    /// Alustuksia.
19    /// </summary>
20    public override void Begin()
21    {
22        Gravity = new Vector(0, -1000);
23        Camera.ZoomToLevel();
24        Level.BackgroundColor = Color.Black;
25        Level.CreateBorders();
26
27        PhysicsObject p1 = new PhysicsObject(2 * 100.0, 2 * 100.0, Shape.Circle);
28        p1.Y = Level.Bottom + 200.0;
29        Add(p1);
30
31        PhysicsObject p2 = new PhysicsObject(2 * 50.0, 2 * 50.0, Shape.Circle);
32        p2.Y = p1.Y + 100 + 50;
33        Add(p2);
34
35        PhysicsObject p3 = new PhysicsObject(2 * 30.0, 2 * 30.0, Shape.Circle);
36        p3.Y = p2.Y + 50 + 30;
37        Add(p3);
38
39        PhysicsStructure ukko = new PhysicsStructure(p1, p2, p3);
40        // Add(ukko);
41        ukko.Softness = 20;
42
43        Timer t = new Timer();
44        t.Interval = 2.0;
45        t.Timeout += VaihdaPainovoimaa;
46        t.Start();
47
48        Keyboard.Listen(Key.Left, ButtonState.Pressed, LyoUkkoa, "Lyö keskipalloa vasemmalle", p2, new Vector(-1000, 0));
49        Keyboard.Listen(Key.Right, ButtonState.Pressed, LyoUkkoa, "Lyö keskipalloa oikealle", p2, new Vector(1000, 0));
50
51        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä näppäinohjeet");
52        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
53        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
54    }
55
56    /// <summary>
57    /// Lyö ukkoa annettuun suuntaan
58    /// </summary>
59    /// <param name="p">Liikuteltava olio.</param>
60    /// <param name="suunta">Suunta, johon liikutellaan.</param>
61    public static void LyoUkkoa(PhysicsObject p, Vector suunta)
62    {
63        p.Hit(suunta);
64    }
65
66    /// <summary>
67    /// Muuta painovoiman y-koordinaatti
68    /// päinvastaiseksi.
69    /// </summary>
70    public void VaihdaPainovoimaa()
71    {
72        Gravity = new Vector(Gravity.X, -Gravity.Y);
73    }
74}
Note: See TracBrowser for help on using the repository browser.