source: 2010/27/sijoseha/EfektiKerros/Peli.cs @ 1563

Revision 1563, 2.7 KB checked in by sijoseha, 10 years ago (diff)

Efektejä testailtu

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5using Jypeli.Effects;
6
7public class Peli : PhysicsGame
8{
9    Image kuva = LoadImage("red");
10    Image kuva2 = LoadImage("yellow");
11    Image savu = LoadImage("smoke");
12    ExplosionSystem es, es2;
13    Smoke smoke;
14    Flames liekki;
15    Label teksti;
16    protected override void Begin()
17    {
18        Level.BackgroundColor = Color.Black;
19        Wind = new Vector(0, 0);
20        //Light valo = new Light();
21        //valo.Position = new Vector(-200, -200);
22        //valo.Intensity = 1.0;
23        //valo.Distance = 150;
24
25        Smoke s = new Smoke(savu, 70, 500);
26        //s.Position = new Vector(0, 90);
27        s.Y = 90;
28        s.X = 0;
29
30        smoke = new Smoke(0);
31        //smoke.Position = new Vector(150, -250);
32        smoke.X = 150;
33        smoke.Y = -250;
34
35        liekki = new Flames(kuva, kuva2, Angle.Degrees(270));
36        liekki.Position = new Vector(0, -150);
37
38        es = new ExplosionSystem(kuva, kuva2, 200);
39        es.MaxLifetime = 0.6;
40        es.MaxVelocity = 420;
41        es.MinLifetime = 0.4;
42        es.MinVelocity = 190;
43
44
45        es2 = new ExplosionSystem(savu, 2000, false);
46        es2.MaxLifetime = 2.6;
47        es2.MaxVelocity = 220;
48        es2.MinLifetime = 1.9;
49        es2.MinVelocity = 90;
50        es2.AlphaAmount = 0.4;
51        //Add(es2);
52        //Add(es);
53
54        liekki.IgnoreWind = true;
55        Add(liekki);
56        //Add(s);
57        Add(smoke);
58        //Add(valo);
59
60        Keyboard.Listen(Key.Left, ButtonState.Down, VaihdaTuuli, "Tuulen vaihto", new Vector(-1, 0));
61        Keyboard.Listen(Key.Right, ButtonState.Down, VaihdaTuuli, "Tuulen vaihto", new Vector(1, 0));
62        Keyboard.Listen(Key.Enter, ButtonState.Pressed, FadeOut, "Feidaa");
63        Keyboard.Listen(Key.Space, ButtonState.Pressed, FadeIn, "Feidaa");
64
65        Timer t = new Timer();
66        t.Interval = 1;
67        t.Trigger += new Timer.TriggerHandler(t_Trigger);
68        t.Start();
69
70        teksti = new Label();
71        teksti.TextColor = Color.White;
72        Add(teksti);
73    }
74
75    void FadeOut()
76    {
77        liekki.FadeOut(2);
78    }
79
80    void FadeIn()
81    {
82        liekki.FadeIn(2);
83    }
84
85    void VaihdaTuuli(Vector suunta)
86    {
87        liekki.Direction += Angle.Degrees(suunta.X);
88    }
89
90    void t_Trigger(Timer sender)
91    {
92        double y = RandomGen.NextDouble(Level.Bottom, Level.Top);
93        double x = RandomGen.NextDouble(Level.Left, Level.Right);
94        es2.AddEffect(x, y, 200);
95        es.AddEffect(x, y, 100);
96    }
97
98    protected override void Update(Time time)
99    {
100        teksti.Text = "(" + Wind.X.ToString() + "," + Wind.Y.ToString() + ")";
101        base.Update(time);
102    }
103}
Note: See TracBrowser for help on using the repository browser.