Ignore:
Timestamp:
2014-07-04 12:11:04 (7 years ago)
Author:
nieekrva
Message:

törmäykset korjattu

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/27/NikiV/untitled/untitled/untitled/untitled.cs

    r5330 r5439  
    1919    PlatformCharacter vihu; 
    2020    AssaultRifle pelaajan1Ase; 
    21     PhysicsObject ammus; 
     21     
    2222 
    2323 
     
    5555        kentta.SetTileMethod('b', Luovihu); 
    5656        kentta.SetTileMethod('g', lisaagem); 
     57        kentta.SetTileMethod('s', lisaaseina); 
    5758        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    5859        Level.CreateBorders(); 
     
    6667        taso.Color = Color.Green; 
    6768        Add(taso); 
     69        taso.Tag = "taso"; 
     70    } 
     71    void lisaaseina(Vector paikka, double leveys, double korkeus) 
     72    { 
     73        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     74        seina.Position = paikka; 
     75        seina.Color = Color.Transparent; 
     76        seina.Tag = "seina"; 
     77        Add(seina); 
    6878    } 
    6979 
     
    100110        pelaaja1.Mass = 3.5; 
    101111        pelaaja1.Image = pelaajanKuva; 
     112        pelaaja1.Tag = "pelaaja1"; 
    102113        pelaaja1.AnimWalk = new Animation(ukkelinKavely); 
    103114        pelaaja1.AnimWalk.FPS = 20; 
     
    106117        AddCollisionHandler(pelaaja1, "gem", tormaagemiin); 
    107118        AddCollisionHandler(pelaaja1, "vihu", Tormaavihuun); 
     119        AddCollisionHandler(pelaaja1, "ammus2", vihunammusosuu); 
    108120        Add(pelaaja1); 
    109121         
     
    113125        pelaajan1Ase.Ammo.Value = 1000; 
    114126 
    115  
     127        pelaajan1Ase.ProjectileCollision += AmmusOsuu; 
    116128 
    117129        pelaaja1.Add(pelaajan1Ase); 
     
    119131    void Luovihu(Vector paikka, double leveys, double korkeus) 
    120132    { 
    121         PlatformCharacter vihu = new PlatformCharacter(leveys, korkeus); 
     133         
     134        vihu = new PlatformCharacter(leveys, korkeus); 
    122135        vihu.Position = paikka; 
    123136        vihu.Mass = 3.0; 
     
    127140        vihu.CanRotate = false; 
    128141        vihu.Tag = "vihu"; 
    129         //AddCollisionHandler(vihu, ammus, tormaaammukseen); 
     142        AddCollisionHandler(vihu, "ammus", tormaaammukseen); 
     143        Luovihunlaskuri(); 
    130144        vihunase = new AssaultRifle(50, 60); 
    131145        vihunase.Color = Color.Transparent; 
    132146        vihunase.Image = null; 
    133147        vihu.Weapon = vihunase; 
     148 
     149        vihunase.ProjectileCollision += vihunammusosuu; 
     150 
    134151        Timer ajastin = new Timer(); 
    135         ajastin.Interval = 1.5; 
    136          
     152        ajastin.Interval = 1.0; 
     153        ajastin.Timeout += vihuampuu; 
    137154        ajastin.Start(); 
    138155        Add(vihu); 
     
    192209    void AmmuAseella(AssaultRifle ase) 
    193210    { 
     211        ase.AbsoluteAngle = pelaaja1.FacingDirection.Angle; 
    194212        PhysicsObject ammus = ase.Shoot(); 
    195213 
     
    199217            ammus.CanRotate = false; 
    200218            AddCollisionHandler(ammus, "vihu", osuma); 
     219            //ammus.Tag = "ammus"; 
    201220            //ammus.Image = ... 
    202221            ammus.MaximumLifetime = TimeSpan.FromSeconds(1.0); 
     
    204223        } 
    205224    } 
    206     void AmmusOsuu(PhysicsObject ammus, PlatformCharacter vihu) 
    207     { 
    208          
    209  
    210     } 
     225    void AmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     226    { 
     227        if (kohde.Tag == "vihu" || kohde.Tag == "taso" || kohde.Tag =="seina") 
     228        { 
     229            ammus.Destroy(); 
     230        } 
     231 
     232        if (kohde.Tag == "vihu") 
     233        { 
     234            vihunlaskuri.Value -= 1;             
     235        } 
     236    } 
     237 
    211238    void LuoElamaLaskuri() 
    212239    { 
     
    223250    void Luovihunlaskuri() 
    224251    { 
    225         vihunlaskuri = new DoubleMeter(10); 
     252        vihunlaskuri = new DoubleMeter(100); 
    226253        vihunlaskuri.MaxValue = 100; 
    227254        vihunlaskuri.LowerLimit += voitit; 
    228255 
    229256        ProgressBar vihunpalkki = new ProgressBar(150, 20); 
    230         vihunpalkki.X = Screen.Right + 150; 
     257        vihunpalkki.X = Screen.Right - 150; 
    231258        vihunpalkki.Y = Screen.Top - 20; 
    232259        vihunpalkki.BindTo(vihunlaskuri); 
     
    253280    } 
    254281 
    255     void vihuampuu(PlatformCharacter vihu) 
    256     { 
    257         PhysicsObject ammus2 = vihu.Weapon.Shoot(); 
    258  
    259         if (ammus != null) 
    260         { 
    261             //ammus.Size *= 3; 
    262             ammus.Image = lieska; 
    263             //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
    264         } 
    265          
     282    void vihuampuu() 
     283    { 
     284        if (!vihu.IsDestroyed) 
     285        { 
     286            PhysicsObject ammus = vihu.Weapon.Shoot(); 
     287 
     288            if (ammus != null) 
     289            { 
     290                ammus.Size *= 3; 
     291                ammus.Image = lieska; 
     292                ammus.Tag = "ammus2"; 
     293                ammus.CanRotate = false; 
     294                ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     295            } 
     296        } 
    266297    } 
    267298    void Tormaavihuun(PhysicsObject pelaaja1, PhysicsObject vihu) 
     
    273304        vihunlaskuri.Value -= 1; 
    274305    } 
     306    void vihunammusosuu(PhysicsObject ammus2, PhysicsObject kohde) 
     307    { 
     308         
     309        if (kohde.Tag == "pelaaja1" || kohde.Tag == "taso" || kohde.Tag == "seina") 
     310        { 
     311            ammus2.Destroy(); 
     312        } 
     313        if (kohde.Tag == "pelaaja1") 
     314        { 
     315            elamaLaskuri.Value -= 1; 
     316        } 
     317         
     318         
     319    } 
    275320 
    276321 
Note: See TracChangeset for help on using the changeset viewer.