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

Revision 1060, 3.9 KB checked in by sijoseha, 11 years ago (diff)

Testejä

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