Ignore:
Timestamp:
2017-07-26 11:46:49 (2 years ago)
Author:
npo17_56
Message:

Kranun heitto

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/30/OlliL/Bomb helicopter/Bomb helicopter/Bomb_helicopter/Bomb_helicopter.cs

    r9101 r9116  
    1717    private Image[] ropelinPyoriminen = LoadImages("ropeli1", "ropeli2"); 
    1818    PhysicsObject helikopteri; 
     19    Image laukaisin = LoadImage("laukaisin"); 
     20    PhysicsObject laukaisija; 
     21     
    1922 
    20      
    2123 
    2224    public override void Begin() 
     
    2729        Camera.ZoomToLevel(); 
    2830        Camera.StayInLevel = true; 
    29         LuoHelikopteri(); 
     31        LuoHelikopteri(-2500, 0.0); 
    3032        AsetaOhjaimet(); 
    3133        Camera.Follow(helikopteri); 
     34        Laukaisija(-100, -400); 
     35        Laukaisija(-900, -450); 
     36 
     37        Gravity = new Vector(0.0, -800.0); 
    3238 
    3339        Level.Background.Image = taustaKuva; 
     
    3541        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    3642    } 
    37  
    38      
    39     
    40      
    4143 
    4244    void AsetaOhjaimet() 
     
    5052        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Kopteri ylös", helikopteri, nopeusVasen); 
    5153        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, helikopteri, Vector.Zero); 
     54 
     55        Keyboard.Listen(Key.Space, ButtonState.Pressed, HeitaKranaatti, "Pelaaja 1: Heitä kranaatti", helikopteri); 
    5256    } 
     57 
     58     
    5359 
    5460    void AsetaNopeus(PhysicsObject helikopteri, Vector nopeus) 
    5561    { 
    56         helikopteri.Velocity = nopeus; 
     62        if (helikopteri.Y >= Level.Top - 50 && nopeus.Y >0) helikopteri.Velocity = new Vector(helikopteri.Velocity.X, 0); 
     63        else helikopteri.Velocity = nopeus; 
    5764    } 
    5865 
    59     void LuoHelikopteri() 
     66    void LuoHelikopteri(double x, double y) 
    6067    { 
    6168        helikopteri = new PhysicsObject(510, 133); 
    62         //Image kuva = LoadImage("Helikopteri6", "Helikopteri7"); 
    63         //helikopteri.Shape = Shape.FromImage(kuva); 
    64         //helikopteri.Image = kuva; 
     69        helikopteri.X = x; 
     70        helikopteri.Y = y; 
    6571        ropelinPyoriminen = LoadImages("Helikopteri10", "Helikopteri11"); 
    6672        helikopteri.Animation = new Animation(ropelinPyoriminen); 
    6773        helikopteri.Animation.Start(); 
     74        helikopteri.CanRotate = false; 
     75        helikopteri.IgnoresGravity = true; 
     76        AddCollisionHandler(helikopteri, HelikopteriTormaa); 
     77        helikopteri.IgnoresCollisionResponse = true; 
    6878        Add(helikopteri); 
     79 
     80         
     81    } 
     82 
     83    void HelikopteriTormaa(PhysicsObject tormaaja, PhysicsObject kohde) 
     84    { 
     85        tormaaja.Velocity = new Vector(tormaaja.Velocity.X, 0); 
     86    } 
     87    void HeitaKranaatti(PhysicsObject helikopteri) 
     88    { 
     89        Grenade kranu = new Grenade(3.0); 
     90        kranu.Position = new Vector (helikopteri.X, helikopteri.Y -20); 
     91        Add(kranu); 
     92    } 
     93 
     94    void Laukaisija(double x, double y) 
     95    { 
     96        laukaisija = new PhysicsObject(60.0, 60.0); 
     97        laukaisija.X = x; 
     98        laukaisija.Y = y; 
     99        laukaisija.Width = 100.0; 
     100        laukaisija.Height = 100.0; 
     101        laukaisija.Image = laukaisin; 
     102        Add(laukaisija); 
     103        laukaisija.MakeStatic(); 
    69104    } 
    70105} 
Note: See TracChangeset for help on using the changeset viewer.