Ignore:
Timestamp:
2014-07-01 12:15:57 (9 years ago)
Author:
jotapoti
Message:

Mailan liikutus lisätty. Aina kun pallo osuu mailaan, pallon väri vaihtuu satunnaisesti.

File:
1 edited

Legend:

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

    r5193 r5215  
    1010{ 
    1111    PhysicsObject pallo; 
     12    PhysicsObject maila1; 
     13    Vector nopeusYlos = new Vector(0, 200); 
     14    Vector nopeusAlas = new Vector(0, -200); 
    1215 
    1316    public override void Begin() 
     
    2023        Vector impulssi = new Vector(500.0, 0.0); 
    2124        pallo.Hit(impulssi); 
    22  
    23  
     25        // AddCollisionHandler(pallo, "maila", CollisionHandler.ExplodeTarget(20.0, false)); 
     26        AddCollisionHandler(pallo, "maila", VaihdaPallonVaria); 
    2427        LisaaOhjaimet(); 
    2528 
     
    2730    } 
    2831 
    29     void LuoMaila(double x, double y) 
     32    void VaihdaPallonVaria(PhysicsObject tormaaja, PhysicsObject tormayksenKohde) 
     33    { 
     34        tormaaja.Color = RandomGen.NextColor(); 
     35    } 
     36 
     37    PhysicsObject LuoMaila(double x, double y) 
    3038    { 
    3139        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    3341        maila.X = x; 
    3442        maila.Y = y; 
     43        maila.Tag = "maila"; 
    3544        maila.Restitution = 1.0; 
    3645        Add(maila); 
     46        return maila; 
    3747    }                                                        
    3848                                                             
     
    4959        // luodaan peliin mailat: 
    5060        LuoMaila(Level.Left + 20.0, 0.0); 
    51         LuoMaila(Level.Right - 20.0, 0.0); 
     61        maila1 = LuoMaila(Level.Right - 20.0, 0.0); 
    5262 
    5363        // luodaan peliin reunat: 
     
    6070    { 
    6171        // lisätään peliin ohjaimet: 
     72        //Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     73        //Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     74        //Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     75        //Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     76 
     77        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     78        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     79        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     80        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     81 
     82        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    6283        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    6384    } 
     85 
     86    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     87    { 
     88        maila.Velocity = nopeus; 
     89    } 
    6490} 
Note: See TracChangeset for help on using the changeset viewer.