Ignore:
Timestamp:
2014-07-03 09:22:24 (6 years ago)
Author:
jotapoti
Message:

Räjähdysesimerkki omalla kuvatiedostolla tehty.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/27/JouniP_esimerkki/Efektit/Efektit/Efektit/Efektit.cs

    r5312 r5313  
    77using Jypeli.Widgets; 
    88 
     9 
    910public class Efektit : PhysicsGame 
    1011{ 
    1112    PhysicsObject pallo; 
     13    Image partikkeli = LoadImage("rajahdyspartikkeli"); 
    1214 
    1315    public override void Begin() 
    1416    { 
    15         Level.Background.Color = Color.Black; 
     17        LuoKentta(); 
    1618        LisaaPallo(); 
     19        LisaaLaatikoita(); 
    1720 
    1821        LisaaNappainkuuntelijat(); 
    1922 
     23         
     24 
    2025    } 
    2126 
    22     private void LisaaPallo() 
     27    void Rajayta(PhysicsObject tormaaja, PhysicsObject kohde) 
     28    { 
     29        ExplosionSystem rajahdys = new ExplosionSystem(partikkeli, 20); 
     30        Add(rajahdys); 
     31        rajahdys.MinScale = 1; 
     32        rajahdys.MaxScale = 40; 
     33        rajahdys.MaxLifetime = 3; 
     34        rajahdys.AddEffect(tormaaja.X, tormaaja.Y, 10); 
     35    } 
     36 
     37    void LisaaLaatikoita() 
     38    { 
     39        int i = 0; 
     40        while (i < 20) 
     41        { 
     42            PhysicsObject laatikko = new PhysicsObject(30, 30, Shape.Rectangle); 
     43            double minX = Level.Left; 
     44            double minY = Level.Bottom; 
     45            double maxX = Level.Right; 
     46            double maxY = Level.Top; 
     47            laatikko.Position = RandomGen.NextVector(minX, minY, maxX, maxY); 
     48            laatikko.Color = RandomGen.NextColor(); 
     49            laatikko.Tag = "loota"; 
     50            Add(laatikko); 
     51            i++; 
     52        } 
     53    } 
     54 
     55    void LuoKentta() 
     56    { 
     57        Level.Background.Color = Color.Black; 
     58        Level.CreateBorders(); 
     59        Camera.ZoomToLevel(); 
     60    } 
     61 
     62    void LisaaPallo() 
    2363    { 
    2464        pallo = new PhysicsObject(40, 40, Shape.Circle); 
    2565        Add(pallo); 
     66        AddCollisionHandler(pallo, "loota", Rajayta); 
    2667    } 
    2768 
    28     private void LisaaNappainkuuntelijat() 
     69    void LisaaNappainkuuntelijat() 
    2970    { 
    3071        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
Note: See TracChangeset for help on using the changeset viewer.