source: 2015/23/JouniP/HienoPallopeli/HienoPallopeli/HienoPallopeli/HienoPallopeli.cs @ 5860

Revision 5860, 1.3 KB checked in by jotapoti, 5 years ago (diff)

Aliohjelmalle voi viedä parametreja. Luodaan pitkulaisia ellipsejä ja yksi iso punainen pallo.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class HienoPallopeli : PhysicsGame
10{
11    public override void Begin()
12    {
13        Level.CreateBorders(true);
14
15        for (int i = 0; i < 40; i++)
16        {
17            LisaaPallo(50.0, 120.0, RandomGen.NextColor());
18        }
19        LisaaPallo(200.0, 200.0, Color.Red);
20
21        Camera.ZoomToAllObjects();
22        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
23    }
24
25    public void LisaaPallo(double leveys, double korkeus, Color haluttuVari)
26    {
27        PhysicsObject pallo = new PhysicsObject(leveys, korkeus);
28        pallo.Shape = Shape.Circle;
29        pallo.Position = RandomGen.NextVector(Level.Left, Level.Bottom, Level.Right, Level.Top);
30        pallo.Color = haluttuVari;
31        pallo.Tag = "ympyra";
32        pallo.Restitution = 1.0;
33        pallo.KineticFriction = 0.1;
34        Add(pallo);
35
36        Vector impulssi = RandomGen.NextVector(10, 200);
37        pallo.Hit(impulssi);
38
39        AddCollisionHandler(pallo, "ympyra", PalloTormasi);
40    }
41
42    void PalloTormasi(PhysicsObject tormaaja, PhysicsObject kohde)
43    {
44        tormaaja.Color = Color.Lerp(tormaaja.Color, kohde.Color, 0.5);
45    }
46}
Note: See TracBrowser for help on using the repository browser.