Ignore:
Timestamp:
2017-08-04 12:57:48 (6 years ago)
Author:
npo17_80
Message:

Tehtiin toimiva animaatio.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/koodauskerho/JereM/MurkkuPeli/MurkkuPeli/MurkkuPeli/MurkkuPeli.cs

    r9420 r9443  
    2020    AssaultRifle ase; 
    2121 
    22     
     22    Timer peliaikaLaskuri; 
     23 
     24    Image[] syontikuvat = LoadImages("isomurkku", "isomurkku2"); 
    2325 
    2426 
     
    2729        LuoAlkuvalikko(); 
    2830        MediaPlayer.Play("Cyborg Ninja"); 
     31 
     32         
    2933 
    3034 
     
    5458    { 
    5559    MessageDisplay. Add("Kuolit"); 
     60        peliaikaLaskuri.Stop(); 
    5661        isomurkku.Destroy(); 
    5762 
     
    95100        isomurkku.CanRotate = false; 
    96101        isomurkku.Image = OlionKuva; 
     102        isomurkku.Animation = new Animation(OlionKuva); 
     103        isomurkku.Animation.Start(); 
    97104        isomurkku.LinearDamping = 0.95; 
    98105        AddCollisionHandler(isomurkku, "marja", SyoMarja); 
     
    101108        PienetMurkut(); 
    102109 
     110 
     111 
    103112        ase = new AssaultRifle(30, 10); 
    104113 
     
    136145 
    137146        luoElamaLaskuri(); 
    138  
     147        LuoAikaLaskuri2(); 
    139148 
    140149 
     
    148157          LiikutaPelaajaa, null, new Vector(0, -500)); 
    149158 
    150         Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", ase); 
    151         Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", ase); 
     159        LisaaSyontinappaimet(); 
    152160    } 
    153161    
     162    void LisaaSyontinappaimet() 
     163    { 
     164        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", ase, true); 
     165        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", ase, false); 
     166    } 
    154167 
    155168    void Tahtaa(AnalogState hiirenLiike) 
     
    171184    void PieniMurkku(double x, double y) 
    172185    { 
    173         PhysicsObject pienimurkku = new PhysicsObject(40.0, 40.0); 
     186        PhysicsObject pienimurkku = new PhysicsObject(50.0, 50.0); 
    174187        Add(pienimurkku); 
    175188        pienimurkku.Image = OlionKuva; 
     
    278291    { 
    279292        Timer aikaLaskuri = new Timer(); 
    280         aikaLaskuri.Interval = 2; 
    281         aikaLaskuri.Timeout += AikaLoppui; 
     293        aikaLaskuri.Interval = 2.5; 
     294        aikaLaskuri.Timeout += UusiVihollinen; 
    282295        aikaLaskuri.Start(); 
    283296 
     
    285298    } 
    286299 
    287     void AikaLoppui() 
     300    void UusiVihollinen() 
    288301    { 
    289302         
     
    302315    } 
    303316 
    304     void AmmuAseella(AssaultRifle ase) 
     317    void AmmuAseella(AssaultRifle ase, bool ammuttiinkoSpaceNappaimella) 
    305318    { 
    306319        PhysicsObject ammus = ase.Shoot(); 
     
    311324        if (ammus != null) 
    312325        { 
     326            isomurkku.Animation = new Animation(syontikuvat); 
     327            isomurkku.Animation.Start(); 
     328            if (ammuttiinkoSpaceNappaimella) 
     329            { 
     330                Keyboard.Listen(Key.Space, ButtonState.Released, delegate { isomurkku.Animation.Stop(); }, null); 
     331                Mouse.Disable(MouseButton.Left); 
     332                LisaaSyontinappaimet(); 
     333            } 
     334            else 
     335            { 
     336                Mouse.Listen(MouseButton.Left, ButtonState.Released, delegate { isomurkku.Animation.Stop(); }, null); 
     337                Keyboard.Disable(Key.Space); 
     338                LisaaSyontinappaimet(); 
     339            } 
    313340            ammus.MaximumLifetime = TimeSpan.FromSeconds(0.05); 
    314341            ammus.IsVisible = false; 
     
    317344    } 
    318345 
    319      
    320      
    321  
    322      
    323     
    324  
    325      
     346 
     347    void LuoAikaLaskuri2() 
     348    { 
     349        peliaikaLaskuri = new Timer(); 
     350        peliaikaLaskuri.Start(); 
     351 
     352        Label aikaNaytto = new Label(); 
     353        aikaNaytto.TextColor = Color.White; 
     354        aikaNaytto.DecimalPlaces = 1; 
     355        aikaNaytto.BindTo(peliaikaLaskuri.SecondCounter); 
     356        aikaNaytto.X = Screen.Left+50; 
     357        aikaNaytto.Y = Screen.Top - 100; 
     358        Add(aikaNaytto); 
     359    } 
     360 
     361 
     362 
     363 
     364 
     365 
    326366} 
    327367 
Note: See TracChangeset for help on using the changeset viewer.