source: esimerkit/2014k/live/live23/Rasitustesti/Rasitustesti/Rasitustesti.cs @ 1484

Revision 907, 2.4 KB checked in by anlakane, 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;
8using Jypeli.WP7;
9
10public class Rasitustesti : PhysicsGame
11{
12    public override void Begin()
13    {
14        IntMeter laskuri = new IntMeter(0, 0, int.MaxValue);
15
16        Label naytto = new Label();
17        naytto.Color = Color.White;
18        naytto.TextColor = Color.Black;
19        naytto.BindTo(laskuri);
20        Add(naytto);
21
22
23        Phone.DisplayResolution = DisplayResolution.Large;
24
25#if WINDOWS
26        SetWindowSize(1024, 768);
27        Level.Size = new Vector(1024, 768);
28#elif WINDOWS_PHONE
29        SetWindowSize(800, 480);
30        Level.Size = new Vector(800, 480);
31#endif
32        Gravity = new Vector(0, -1000);
33        Level.CreateBorders();
34        Camera.ZoomToLevel();
35        // Kirjoita ohjelmakoodisi tähän
36
37        Mouse.Listen(MouseButton.Left, ButtonState.Down, delegate { LisaaSatunnainenPallo(laskuri); }, null);
38        Mouse.IsCursorVisible = true;
39        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
40
41        Accelerometer.Calibration = AccelerometerCalibration.ZeroAngle;
42        Accelerometer.ListenAnalog(AccelerometerSensitivity.Realtime, MuutaPainovoimaa, null);
43
44        TouchPanel.Listen(ButtonState.Down, delegate { LisaaSatunnainenPallo(laskuri); }, null);
45
46        Keyboard.Listen(Key.Right, ButtonState.Pressed, MuutaPainovoimaa, null, new Vector(1, 0));
47        Keyboard.Listen(Key.Left, ButtonState.Pressed, MuutaPainovoimaa, null, new Vector(-1, 0));
48        Keyboard.Listen(Key.Down, ButtonState.Pressed, MuutaPainovoimaa, null, new Vector(0, -1));
49        Keyboard.Listen(Key.Up, ButtonState.Pressed, MuutaPainovoimaa, null, new Vector(0, 1));
50
51        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
52    }
53
54    void MuutaPainovoimaa(AnalogState anstate)
55    {
56        Gravity = anstate.StateVector * 2000;
57    }
58
59    void MuutaPainovoimaa(Vector v)
60    {
61        Gravity = v * 2000;
62    }
63
64    void LisaaSatunnainenPallo(IntMeter laskuri)
65    {
66        PhysicsObject p = new PhysicsObject(30, 30, Shape.Circle);
67        p.Color = RandomGen.NextColor();
68        p.Position = RandomGen.NextVector(Level.BoundingRect);
69        laskuri.Value++;
70        Add(p);
71
72        if (laskuri.Value % 100 == 0) { 
73            Phone.Vibrate(300); 
74        }
75    }
76}
Note: See TracBrowser for help on using the repository browser.