Changeset 226


Ignore:
Timestamp:
2009-08-03 14:47:00 (12 years ago)
Author:
jovivavi
Message:

ohjaimessa vikaa vasen käsi liikkuu hassusti

File:
1 edited

Legend:

Unmodified
Added
Removed
  • joonas_v/FysiikkaPeli1/Peli.cs

    r194 r226  
    2121    public class Peli : PhysicsGame 
    2222    { 
     23        PhysicsObject pallo; 
     24        PhysicsObject maila1; 
     25        PhysicsObject maila2; 
     26 
    2327        protected override void LoadContent() 
    2428        { 
    25             //IShape ympyra = Shapes.CreateCircle(20.0); 
    26             IShape ympyra = Shapes.CreateCircle(50.8); 
    27             PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
    28             Level.Objects.Add(pallo); 
    29             pallo.X = -10; 
    30             pallo.Y = 20; 
    31             Vector2D impulssi = new Vector2D(1500.0, -10.70); 
     29            Level = LuoKentta(); 
     30            AloitaPeli(); 
     31            AsetaOhjaimet(); 
     32             
     33        } 
     34        void AloitaPeli() 
     35        { 
     36            Vector2D impulssi = new Vector2D(2000.0, 0.0); 
    3237            pallo.Hit(impulssi); 
     38        } 
     39        Level LuoKentta() 
     40        { 
     41            Level kentta = new Level(this); 
     42            kentta.BackgroundColor = Color.Black; 
     43 
     44            IShape ympyra = Shapes.CreateCircle(20.0); 
     45            pallo = new PhysicsObject(10.0, ympyra); 
     46            kentta.Objects.Add(pallo); 
     47            pallo.X = -200.0; 
     48            pallo.Y = 0.0; 
     49            pallo.Restitution = 1.0; 
     50 
     51            maila1=LuoMaila(kentta.Left + 20.0, 0.0, kentta); 
     52            maila2=LuoMaila(kentta.Right - 20.0, 0.0, kentta); 
     53 
     54            kentta.CreateBorder(1.0, false); 
    3355            Level.CreateBorder( 1.0, false ); 
    34             pallo.Restitution = 1.0; 
    3556            Level.BackgroundColor = Color.Black; 
     57            return kentta; 
    3658        } 
    37          
    38          
    39              
     59        PhysicsObject LuoMaila(double x, double y, Level kentta) 
     60        { 
     61            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0); 
     62            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio); 
     63            maila.X = x; 
     64            maila.Y = y; 
     65            maila.Restitution = 1.0; 
     66            kentta.Objects.Add(maila); 
     67            return maila; 
     68        } 
     69        void AsetaOhjaimet() 
     70        { 
     71            Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1; Liikuta mailaa ylös", maila1); 
     72            Controls.Listen( Keys.A, ButtonPosition.Released, PysaytaMaila, null, maila1 ); 
     73            Controls.Listen(Keys.Z, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1); 
     74            Controls.Listen(Keys.Z, ButtonPosition.Released, PysaytaMaila, null, maila1); 
     75 
     76            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2); 
     77            Controls.Listen(Keys.Up, ButtonPosition.Released, PysaytaMaila, null, maila2); 
     78            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2); 
     79            Controls.Listen(Keys.Down, ButtonPosition.Released, PysaytaMaila, null, maila2); 
     80        } 
     81        bool LiikutaMailaaYlos(ControlEvent e) 
     82        { 
     83            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     84            if (maila.Y >= Level.Top) 
     85            { 
     86                maila.Velocity = Vector2D.Zero; 
     87                return false; 
     88 
     89            } 
     90                 
     91            Vector2D nopeus = new Vector2D(0, 200); 
     92            maila.Velocity = nopeus; 
     93            return false; 
     94        } 
     95        bool PysaytaMaila(ControlEvent e) 
     96        { 
     97            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     98            maila.Velocity = Vector2D.Zero; 
     99            return false; 
     100        } 
     101        bool LiikutaMailaaAlas(ControlEvent e) 
     102        { 
     103            PhysicsObject maila = e.Parameter0.ToPhysicsObject(); 
     104            Vector2D nopeus = new Vector2D(0, -200); 
     105            maila.Velocity = nopeus; 
     106            return false; 
     107        } 
    40108    } 
     109 
    41110} 
Note: See TracChangeset for help on using the changeset viewer.