source: 2010/24/sijoseha/EfektiDemo/Peli.cs @ 1040

Revision 1040, 3.4 KB checked in by sijoseha, 11 years ago (diff)

Testiä

Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5using Jypeli.Effects;
6
7public class Peli : PhysicsGame
8{
9    ParticleSystem ps;
10    ExplosionSystem rajahdys1, rajahdys2, rajahdys3, rajahdys4;
11    Flames liekki1, liekki2;
12    protected override void Begin()
13    {
14        PhysicsObject kuula = new PhysicsObject(20, 20);
15        kuula.Position = new Vector(0, 0);
16        Add(kuula);
17        Level.BackgroundColor = Color.Black;
18        Image expl = LoadImage("Explosion");
19        Image glow = LoadImage("Red");
20        Image glow2 = LoadImage("Yellow");
21        rajahdys1 = new ExplosionSystem(expl, glow, 1000);
22        rajahdys2 = new ExplosionSystem(expl, 1000);
23        rajahdys3 = new ExplosionSystem(glow, 1000);
24        rajahdys4 = new ExplosionSystem(glow2, 10);
25        liekki1 = new Flames(glow, glow2, 400, Angle.Degrees(270));
26        liekki2 = new Flames(glow2, 400, Angle.Degrees(270));
27        liekki1.Position = new Vector(-200, 0);
28        rajahdys2.MinLifetime = 0.2;
29        rajahdys2.MaxLifetime = 0.4;
30        rajahdys2.MinVelocity = 10;
31        rajahdys2.MaxVelocity = 20;
32        rajahdys3.MinLifetime = .5;
33        rajahdys3.MaxLifetime = .8;
34        rajahdys3.MinVelocity = 150;
35        rajahdys3.MaxVelocity = 300;
36        rajahdys4.MinLifetime = 1.5;
37        rajahdys4.MaxLifetime = 2.8;
38        rajahdys4.MinVelocity = 1;
39        rajahdys4.MaxVelocity = 2;
40        Add(rajahdys1);
41        //Add(rajahdys2);
42        //Add(rajahdys3);
43        //Add(rajahdys4);
44        Add(liekki1);
45        //liekki1.SourceObject = kuula;
46        //Add(liekki2);
47
48        ps = new ParticleSystem(glow, 10);
49        ps.MaxAcceleration = 1;
50        ps.MaxLifetime = 1;
51        ps.MaxRotation = 0;
52        ps.MaxRotationSpeed = 0;
53        ps.MaxScale = 1;
54        ps.MaxVelocity = 10;
55        ps.MinAcceleration = 1;
56        ps.MinLifetime = 1;
57        ps.MinRotation = 0;
58        ps.MinRotationSpeed = 0;
59        ps.MinScale = 1;
60        ps.MinVelocity = 10;
61        //Add(ps);
62
63        Timer t = new Timer();
64        t.Interval = 1;
65        t.Trigger += new Timer.TriggerHandler(t_Trigger1);
66        Add(t);
67        t.Start();
68
69        Timer t1 = new Timer();
70        t1.Interval = .1;
71        t1.Trigger += new Timer.TriggerHandler(t_Trigger2);
72        Add(t1);
73        t1.Start();
74
75        Timer t2 = new Timer();
76        t2.Interval = .05;
77        t2.Trigger += new Timer.TriggerHandler(t_Trigger3);
78        Add(t2);
79        t2.Start();
80
81        Timer t3 = new Timer();
82        t3.Interval = .01;
83        t3.Trigger += new Timer.TriggerHandler(t_Trigger4);
84        Add(t3);
85        t3.Start();
86
87        //TODO: Alusta peli tässä
88    }
89
90    void t_Trigger1(Timer sender)
91    {
92        ps.AddEffect(0, 0, 4);
93        rajahdys1.AddEffect(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Top, Level.Bottom), 30);
94        rajahdys3.AddEffect(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Top, Level.Bottom), 30);
95    }
96
97    void t_Trigger2(Timer sender)
98    {
99        rajahdys2.AddEffect(0, 0, 10);
100    }
101
102    void t_Trigger3(Timer sender)
103    {
104        //liekki1.AddEffect(-200, 0, 2);
105        //liekki2.AddEffect(200, 0, 2);
106    }
107
108    void t_Trigger4(Timer sender)
109    {
110        rajahdys4.AddEffect(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Top, Level.Bottom), 1);
111    }
112}
Note: See TracBrowser for help on using the repository browser.