Changeset 2836 for 2012/23


Ignore:
Timestamp:
2012-06-07 15:19:04 (7 years ago)
Author:
jijoback
Message:

VALMIS!

Location:
2012/23/JimB/NameInPending/NameinPending/NameinPending
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2012/23/JimB/NameInPending/NameinPending/NameinPending/NameinPending/NameinPending.cs

    r2832 r2836  
    66using Jypeli.Effects; 
    77using Jypeli.Widgets; 
    8  
    9 class PeliUkko : PhysicsObject 
     8/// <summary> 
     9/// Pelaajan luokka -> Pelihahmon asetuksia voi lisätä tänne. 
     10/// </summary> 
     11class PeliUkko : PhysicsObject  
    1012{ 
    11     public IntMeter Elamat; 
    12     public Explosion ViimeisinRajahdys = null; 
    13     public bool aseValmiina = true; 
    14     public bool naattiValmiina = true; 
    15  
    16     public PeliUkko(double leveys, double korkeus) 
    17         : base(leveys, korkeus) 
    18     { 
    19         Elamat = new IntMeter(50, 0, 100); 
     13    public IntMeter Elamat; //Antaa PeliUkko luokalle mittarin nimellä elmät. 
     14    public Explosion ViimeisinRajahdys = null; //Estää monen räjähdyksen tulemisen samaan aikaan bugin takia. 
     15    public bool aseValmiina = true; //->Ei supersarjatulta. 
     16    public bool naattiValmiina = true; //->Ei naattispämmiä 
     17 
     18    public PeliUkko(double leveys, double korkeus) //double = desimaaliluku 
     19        : base(leveys, korkeus) //ottaa PeliUkon koon desimaaleina 
     20    { 
     21        Elamat = new IntMeter(50, 0, 100); //Default HP, Min HP, Max HP 
    2022    } 
    2123} 
    22  
    23  
    24  
    2524public class NameinPending : PhysicsGame 
    2625{ 
    2726 
    28     PeliUkko pelaaja1, pelaaja2, pelaaja3, pelaaja4; 
    29     double ampumisnopeus = 450; 
    30     ExplosionSystem NaattiPoks; 
    31     IntMeter Pelaajat = new IntMeter (4); 
    32     //PhysicsObject naatti; 
    33  
    34     void ResetPelaajat() 
     27    PeliUkko pelaaja1, pelaaja2, pelaaja3, pelaaja4; //määrittää pelaajat attribuuteiksi jotta niitä voi käyttää kaikissa aliohjelmissa 
     28    double ampumisnopeus = 450; //<- 
     29    ExplosionSystem NaattiPoks; //räjähdyksen partikkelit 
     30    IntMeter Pelaajat = new IntMeter(4); //Hengissä olevien pelaajien lukumäärä. 
     31    ExplosionSystem veri; //veripartikkelit 
     32    bool onkoPeliFullS = false; //fullscreen, 0 false, 1 true. 
     33    void ResetPelaajat() //resetoi pelaajien määrän neljään uuden pelin aloituksessa. 
    3534    { 
    3635        Pelaajat = new IntMeter(4); 
    3736    } 
     37 
     38    /// <summary> 
     39    /// ylikirjoittaa oletus  PhysicsGame:n Begin metodin 
     40    /// </summary> 
    3841    public override void Begin() 
    3942    { 
    40         IsFullScreen= (true); 
    41         NaattiPoks = new ExplosionSystem(LoadImage("naattishard"), 1500); 
    42         Add(NaattiPoks); 
    43         // TODO: Kirjoita ohjelmakoodisi tähän 
    44         LuoKentta(); 
    45  
    46         MessageDisplay.Add("F1 - Näytä Ohjaimet"); 
    47         Keyboard.Listen(Key.F1, ButtonState.Pressed, Ohjeet, "Näytä ohjaimet"); 
    48  
     43        NaattiPoks = new ExplosionSystem(LoadImage("naattishard"), 1500); //määritetään räjähdyksen partikkelikuva ja niiden maximi määrä 
     44        Add(NaattiPoks); //lisätään räjähdys peliin (ei näkyviin, mutta niin että se on olemassa) 
     45        SetWindowSize(1024, 768, false); //false=ei Full, true = full 
     46        LuoKentta(); //kutsutaan kentänluonti 
     47        Veri(); //kutsutaan veripartikkelit 
     48 
     49        MessageDisplay.Add("F1 - Näytä Ohjaimet"); //lisätään viestilaatikkoon ohje. 
     50        Keyboard.Listen(Key.F1, ButtonState.Pressed, Ohjeet, "Näytä ohjaimet"); //Kutsutaan Ohjeet 
     51        Keyboard.Listen(Key.F11, ButtonState.Pressed, Fullscreen,null); 
    4952        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     53    } 
     54    void Fullscreen() 
     55    { 
     56        if (onkoPeliFullS) // jos on koko ruutu 
     57        { 
     58            SetWindowSize(1024, 768, false); onkoPeliFullS = false; 
     59            return; 
     60        } 
     61        SetWindowSize(1024, 768, true); onkoPeliFullS = true; 
    5062    } 
    5163    void Ohjeet() 
     
    5567        MessageDisplay.Add("Pelaaja 3 - TFGH - R ampuminen - Y Kranaatti"); 
    5668        MessageDisplay.Add("Pelaaja 4 - IJKL - U ampuminen - O Kranaatti"); 
     69        MessageDisplay.Add("F11 -> Fullscreen/Windowed *BUGS ON 16:10*"); 
    5770    } 
    5871    void LuoKentta() 
    5972    { 
    60         TileMap ruudut = TileMap.FromLevelAsset("level"); 
    61         //TileMap pelaaja = TileMap.FromLevelAsset("level"); 
    62         ruudut.SetTileMethod('=', LuoPalikka); 
    63         ruudut.SetTileMethod('s', LuoPalikka); 
    64         ruudut.SetTileMethod('1', LuoPelaaja1); 
    65         ruudut.SetTileMethod('2', LuoPelaaja2); 
    66         ruudut.SetTileMethod('3', LuoPelaaja3); 
    67         ruudut.SetTileMethod('4', LuoPelaaja4); 
    68         ruudut.Execute(25, 25); 
    69  
    70         Level.Background.Image = LoadImage("bg"); 
     73        TileMap ruudut = TileMap.FromLevelAsset("level"); //ladataan kenttä level.txt tiedostosta. 
     74        ruudut.SetTileMethod('=', LuoPalikka); //säädetään mitä mikäkin merkki tekstissä on pelissä 
     75        ruudut.SetTileMethod('s', LuoPalikka); //                                                 | 
     76        ruudut.SetTileMethod('1', LuoPelaaja1);//                                                 | 
     77        ruudut.SetTileMethod('2', LuoPelaaja2);//                                                 | 
     78        ruudut.SetTileMethod('3', LuoPelaaja3);//                                                 | 
     79        ruudut.SetTileMethod('4', LuoPelaaja4);//                                                 V 
     80        ruudut.Execute(25, 25); //Kutsutaan ruudut 25x25 kokoisina. 
     81 
     82        Level.Background.Image = LoadImage("bg"); //Määritetään taustakuva. 
    7183        Camera.ZoomToLevel(); 
     84    } 
     85    void LuoPalikka(Vector paikka, double leveys, double korkeus) 
     86    { 
     87        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); //staattinen objekti->ei liiku. 
     88        palikka.Position = paikka; 
     89        palikka.Image = LoadImage("seinaTekstuuri"); 
     90        palikka.Tag = "Seinä"; 
     91        palikka.Restitution = 0; //kimmoisuus 0 
     92        palikka.Shape = Shape.Rectangle; 
     93        palikka.Color = Color.White; 
     94        Add(palikka); 
    7295    } 
    7396    void LuoPelaaja1(Vector paikka, double leveys, double korkeus) 
     
    7699        pelaaja1 = LuoPelaaja(paikka); 
    77100        pelaaja1.Image = LoadImage("Pelaaja1"); 
    78         pelaaja1.CollisionIgnoreGroup = 1; 
    79  
    80         LuoHPNaytto(Screen.Left + 50, Screen.Top - 50, pelaaja1.Elamat, Color.Blue); 
    81  
     101        pelaaja1.CollisionIgnoreGroup = 1; //omat luodit eivät osu -> tämän pelaajan luodit ovat collisonignoregroup 1:ssä myös + kranaatit. 
     102 
     103        LuoHPNaytto(Screen.Left + 10, Screen.Top - 10, pelaaja1.Elamat, Color.Blue); 
     104 
     105        //Kontrollit: 
    82106        Keyboard.Listen(Key.A, ButtonState.Down, Liike, null, pelaaja1, new Vector(-200, 0)); 
    83107        Keyboard.Listen(Key.A, ButtonState.Released, Liike, null, pelaaja1, new Vector(0, 0)); 
     
    97121        pelaaja2.Image = LoadImage("Pelaaja2"); 
    98122        pelaaja2.CollisionIgnoreGroup = 2; 
    99         LuoHPNaytto(Screen.Right - 50, Screen.Top - 50, pelaaja2.Elamat, Color.Yellow); 
     123        LuoHPNaytto(Screen.Right - 10, Screen.Top - 10, pelaaja2.Elamat, Color.Yellow); 
    100124 
    101125 
     
    117141        pelaaja3.Image = LoadImage("Pelaaja3"); 
    118142        pelaaja3.CollisionIgnoreGroup = 3; 
    119         LuoHPNaytto(Screen.Right - 50, Screen.Bottom + 50, pelaaja3.Elamat, Color.Red); 
     143        LuoHPNaytto(Screen.Right - 10, Screen.Bottom + 10, pelaaja3.Elamat, Color.Red); 
    120144 
    121145 
     
    137161        pelaaja4.Image = LoadImage("Pelaaja4"); 
    138162        pelaaja4.CollisionIgnoreGroup = 4; 
    139         LuoHPNaytto(Screen.Left + 50, Screen.Bottom + 50, pelaaja4.Elamat, Color.Purple); 
     163        LuoHPNaytto(Screen.Left + 10, Screen.Bottom + 10, pelaaja4.Elamat, Color.Purple); 
    140164 
    141165 
     
    157181        PeliUkko pelaaja = new PeliUkko(18, 18); 
    158182        pelaaja.Restitution = 0; 
    159         pelaaja.AngularDamping = Double.Epsilon; 
    160         pelaaja.Position = paikka; 
    161         pelaaja.Shape = Shape.Circle; 
     183        pelaaja.AngularDamping = Double.Epsilon; //pelaaja ei pyöri törmätessään kulmiin, 0 ei toimi, joten Double.Epsilon on pienin mahdollinen luku. 
     184        pelaaja.Position = paikka; //Vector paikka -> katsoo ketä pelaajaa luodaan ja pistää sen sen pelaajan sijaintiin level.txt:ssä. 
     185        pelaaja.Shape = Shape.Circle; //pelaaja on pallo tekstuurin alla :P 
    162186        Add(pelaaja); 
    163         AddCollisionHandler<PeliUkko, PhysicsObject>(pelaaja, "bullet", Osuma); 
    164  
    165         return pelaaja; 
     187        AddCollisionHandler<PeliUkko, PhysicsObject>(pelaaja, "bullet", Osuma); //jos pelaajaan osuu luoti, kutsutaan osuma, joka vähentää pelaajan HP. 
     188 
     189        return pelaaja; //palautetaan luotu pelaaja LuoPelaajaX:lle 
    166190 
    167191    } 
    168192    void KukaKuoli(PeliUkko ukko) 
    169193    { 
    170         int PelaajanNumero = 1337; 
    171         Pelaajat.Value -= 1; 
     194        int PelaajanNumero = 1337; //noh, niin :D 
     195        Pelaajat.Value -= 1; //vähennetään yksi pelaajien lukumäärästä kun joku kuolee. Tämä siksi että peli tietää katsoa kuka on viimeinen hengissä ja ilmoittaa voitosta. 
    172196        if (ukko == pelaaja1) 
    173197        { 
    174             MessageDisplay.Add("Pelaaja 1 kuoli!"); 
     198            MessageDisplay.Add("Pelaaja 1 kuoli!"); //Jos ukko (tässä tapauksessa kuolija -> määritetty kuolintapahtumassa) on pelaaja 1, Se ilmoitetaan. 
    175199        } 
    176200        else if (ukko == pelaaja2) 
     
    186210            MessageDisplay.Add("Pelaaja 4 kuoli!"); 
    187211        } 
    188         else MessageDisplay.Add("WTF?"); 
    189  
     212        else MessageDisplay.Add("WTF?"); //älkää kysykö ;) 
     213 
     214        //jos pelaajia on 1 tai vähemmän... 
    190215        if (Pelaajat.Value <= 1) 
    191          
    192         { 
    193             if (!pelaaja1.IsDestroyed) PelaajanNumero = 1; 
    194             else if (!pelaaja2.IsDestroyed) PelaajanNumero = 2; 
     216        { 
     217            if (!pelaaja1.IsDestroyed) PelaajanNumero = 1;  //tarkistetaa onko pelaaja "EI" tuhottu-> 
     218            else if (!pelaaja2.IsDestroyed) PelaajanNumero = 2; //else tarkistetaan onko se pelaaja 2. 
    195219            else if (!pelaaja3.IsDestroyed) PelaajanNumero = 3; 
    196220            else if (!pelaaja4.IsDestroyed) PelaajanNumero = 4; 
    197             Label Voitto = new Label("Pelaaja" + PelaajanNumero + "Voittaa"); 
    198             Add(Voitto); 
    199             Timer.SingleShot(2.5, delegate { UusiPeli(); }); 
    200  
    201         } 
    202      } 
     221            Label Voitto = new Label("Pelaaja" + PelaajanNumero + "Voittaa!"); //teksti keskelle ruutua. "Pelaaja" + Sen pelaajan numero joka ei ollut tuhottu + "Voittaa!" 
     222            Add(Voitto); //lisätään se viellä näytölle. 
     223            Timer.SingleShot(2.5, delegate { UusiPeli(); }); //ajastin ennenkuin promptataan uuden pelin alkua. delegate -> saadaan ns. aliohjelma ilman aliohjelmaa, yhdelle riville. 
     224 
     225        } 
     226    } 
    203227    void UusiPeli() 
    204228    { 
    205229        MultiSelectWindow UusiPeli = new MultiSelectWindow("Pelataanko uusi peli?", "Kyllä", "Ei"); 
    206         UusiPeli.ItemSelected += PainettiinValikonNappia; 
     230        UusiPeli.ItemSelected += PainettiinValikonNappia; //mitä painettiin? Lisätään muuttujaan monesko nappi. 1 nappi = 0. 2 nappi on 1. 
    207231        Add(UusiPeli); 
    208232    } 
     
    211235        switch (valinta) 
    212236        { 
    213             case 0: 
    214                 ClearAll(); 
    215                 ResetPelaajat(); 
    216                 Begin(); 
     237            case 0: //Jos muuttuja oli 0, eli ensimmäinen nappi, aloitetaan uusi peli 
     238                ClearAll(); //puhdistetaan "melkein kaikki 
     239                ResetPelaajat(); //nollataan pelaajat takaisin neljään, koska muuten heitä olisi enään 1 
     240                Begin(); //aloitetaan peli 
    217241                break; 
    218             case 1: 
     242            case 1: //poistutaan jos toinen nappi. 
    219243                Exit(); 
    220244                break; 
    221245        } 
    222     }  
     246    } 
    223247    void LuoHPNaytto(double x, double y, IntMeter sidottavaMittari, Color taustavari) 
    224248    { 
     
    231255    void Osuma(PeliUkko tormaaja, PhysicsObject ammus) 
    232256    { 
    233         tormaaja.Elamat.Value -= 1; 
     257        tormaaja.Elamat.Value -= 3; //kun tormaaja (pelaaja) osuu luotiin, vähennetään 3hp. 
    234258        if (tormaaja.Elamat.Value <= 0) 
    235259        { 
    236             tormaaja.Destroy(); 
    237             KukaKuoli(tormaaja); 
    238         } 
    239         ammus.Destroy(); 
     260            tormaaja.Destroy(); //jos hp 0 tai pienempi, tuhotaan pelaaja 
     261            KukaKuoli(tormaaja); //ja tarkistetaan kuka kuoli +ilmoitetaan siitä 
     262        } 
     263        veri.AddEffect(tormaaja.Position, 15); //osumasta lentää myös verta, pelaajan kohdalta. 
     264        ammus.Destroy(); //tuhotaan panos. (ei hylsyjä ;___;) 
     265    } 
     266    void Veri() 
     267    { 
     268        veri = new ExplosionSystem(LoadImage("blood"), 500); //luodaan veri "räjähdys" ja ladataan kuva, säädetään maksimi määrä partikkeleita(verta) 
     269        veri.MaxScale = 1.5; 
     270        veri.MaxLifetime = 0.4; //ei veri lennä liian kauas. 
     271        veri.MaxVelocity = 0.8; //eikä liian nopeaa ettei se ehdi liian kauas. 
     272        Add(veri); //lisätään se. 
     273 
    240274    } 
    241275    void Ammu(PeliUkko pelaaja) 
    242276    { 
    243         if (pelaaja.aseValmiina) 
     277        if (pelaaja.aseValmiina) //jos aseella ei ole cd menossa 
    244278        { 
    245279            PhysicsObject bullet = new PhysicsObject(LoadImage("bullet")); 
    246280            Add(bullet); 
    247281            bullet.Tag = "bullet"; 
    248             bullet.Restitution = 0; 
    249             // AddCollisionHandler(bullet, CollisionHandler.ExplodeObject(100, false)); 
    250             AddCollisionHandler(bullet, "Seinä", CollisionHandler.DestroyObject); 
     282            bullet.Restitution = 0; //eipä kimpoile luoti, bugien varalta tämä tässä, ei mitään järkevää syytä ottaa poiskaan. 
     283            AddCollisionHandler(bullet, "Seinä", CollisionHandler.DestroyObject); //luoti katoaa maagisesti seinään osuessaan. 
    251284            bullet.Position = pelaaja.Position; 
    252             bullet.Angle = pelaaja.Angle; 
    253             bullet.CollisionIgnoreGroup = pelaaja.CollisionIgnoreGroup; 
    254             Vector suunta = Vector.FromLengthAndAngle(ampumisnopeus, pelaaja.Angle + Angle.RightAngle); 
    255             bullet.Hit(suunta); 
    256             pelaaja.aseValmiina = false; 
    257             Timer.SingleShot(0.5, delegate { pelaaja.aseValmiina = true; }); 
     285            bullet.Angle = pelaaja.Angle; //luoti lähtee pelaajan katsomaaan suuntaan. 
     286            bullet.CollisionIgnoreGroup = pelaaja.CollisionIgnoreGroup; //pistetään luoti samaan collision ignoreen kuin sen ampunut pelaaja, ettei ammuta itseään. 
     287            Vector suunta = Vector.FromLengthAndAngle(ampumisnopeus, pelaaja.Angle + Angle.RightAngle); //käännellään luotia viellä että sen tekstuurikin on oikenpäin. 
     288            bullet.Hit(suunta); //tökkäistään luoti liikkeelle. 
     289            SoundEffect pistolshot = LoadSoundEffect("pistol1"); //mahtava ääni!! 
     290            pistolshot.Play(); //aivan uskomaton ;D 
     291            pelaaja.aseValmiina = false; //pistetään cd käyntiin 
     292            Timer.SingleShot(0.4, delegate { pelaaja.aseValmiina = true; }); //poistetaan cd 
    258293        } 
    259294    } 
    260295    void Heita(PeliUkko pelaaja) 
    261296    { 
    262         if (pelaaja.naattiValmiina) 
     297        if (pelaaja.naattiValmiina) //jos ei ole naatti cd active. 
    263298        { 
    264299            PhysicsObject naatti = new PhysicsObject(LoadImage("naatti")); 
    265300            Add(naatti); 
    266301            naatti.Tag = "naatti"; 
    267             naatti.Restitution = 0.6; 
     302            naatti.Restitution = 0.8; //naatti saa kimpoilla vähän 
    268303            naatti.Position = pelaaja.Position; 
    269304            naatti.Angle = pelaaja.Angle; 
     
    272307            naatti.Hit(suunta); 
    273308            pelaaja.naattiValmiina = false; 
    274             Timer.SingleShot(2.5, delegate { KranaattiRajahti(naatti.X, naatti.Y, 375); naatti.Destroy(); }); 
    275             Timer.SingleShot(6.5, delegate { pelaaja.naattiValmiina = true; }); 
     309            Timer.SingleShot(1.5, delegate { KranaattiRajahti(naatti.X, naatti.Y, 375); naatti.Destroy(); }); //räjähdys<-aika heitosta 
     310            Timer.SingleShot(8, delegate { pelaaja.naattiValmiina = true; }); 
    276311        } 
    277312 
     
    279314    void KranaattiRajahti(double x, double y, int numberOfParticles) 
    280315    { 
    281         NaattiPoks.X = x; 
    282         NaattiPoks.Y = y; 
    283         NaattiPoks.MinScale = 1; 
     316        NaattiPoks.X = x; //pistetään räjähdysefetki naatin sijaintiin 
     317        NaattiPoks.Y = y;  
     318        NaattiPoks.MinScale = 1; //partikkeleiden min/max koot 
    284319        NaattiPoks.MaxScale = 10; 
    285320        NaattiPoks.AddEffect(x, y, numberOfParticles); 
    286         Explosion e = new Explosion(65); 
     321        Explosion e = new Explosion(65); //pakko käyttää myös tätä koska ExplosionSystemistä ei saa paineaaltoa. 
    287322        Add(e); 
    288323        e.Position = new Vector(x, y); 
    289         e.ShockwaveReachesObject += delegate(IPhysicsObject kohde, Vector suunta) { ShockHit(kohde, suunta, e); }; 
     324 
     325        //IPhysicsObject = Kohde johon paineaalto osuu. vektori suuntaa ei tarvita missään, mutta se on silti pakollinen. sitten kutsutaan shockhit näillä arvoilla. 
     326        e.ShockwaveReachesObject += delegate(IPhysicsObject kohde, Vector suunta) { ShockHit(kohde, suunta, e); };  
    290327    } 
    291328    void ShockHit(IPhysicsObject kohde, Vector suunta, Explosion rajahdys) 
    292329    { 
    293         if (!(kohde is PeliUkko)) return; 
    294         PeliUkko ukko = kohde as PeliUkko; 
    295         if (ukko.ViimeisinRajahdys == rajahdys) return; 
    296  
    297         double etaisyys = Vector.Distance(ukko.Position, rajahdys.Position); 
    298         ukko.Elamat.Value -= (int)Math.Floor(1500 / etaisyys); 
     330        if (!(kohde is PeliUkko)) return; //jos paineaalto osuu johonkin muuhun kuin pelaajaan, poistutaan. 
     331        PeliUkko ukko = kohde as PeliUkko; //jos kohde oli pelaajaluokkaa, jatketaan.  
     332        if (ukko.ViimeisinRajahdys == rajahdys) return; //tarkistetaan että tämä paineealto ei ole osunut ukkoon juuri äsken. Peli bugasi niin että paineaalto osu monta kertaa. 
     333 
     334        double etaisyys = Vector.Distance(ukko.Position, rajahdys.Position); //katsotaan kuinka kaukana pelaaja on räjähdyksen keskipisteestä. Pistetään tämä desimaalilukuna muutujaan 
     335        ukko.Elamat.Value -= (int)Math.Floor(1500 / etaisyys); //pyöristetään etäisyys kokonaislukuihin, int ei ota desimaaleja. Base dmg räjähdyksestä 1500. se jaetaan etäisyydellä. 
    299336        if (ukko.Elamat.Value <= 0) 
    300337        { 
     
    302339            KukaKuoli(ukko); 
    303340        } 
    304         ukko.ViimeisinRajahdys = rajahdys; 
     341        ukko.ViimeisinRajahdys = rajahdys; //pistetään viimeisin räjähdys olemaan juuri tämä räjähdys (paineaalto) 
    305342    } 
    306343    void Liike(PeliUkko pelaaja, Vector nopeus) 
    307344    { 
    308         pelaaja.Velocity = nopeus; 
    309         if (nopeus.Magnitude != 0) 
    310         { 
    311             pelaaja.Angle = nopeus.Angle - Angle.RightAngle; 
    312         } 
    313     } 
    314     void LuoPalikka(Vector paikka, double leveys, double korkeus) 
    315     { 
    316         PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    317         palikka.Position = paikka; 
    318         palikka.Image = LoadImage ("seinaTekstuuri"); 
    319         palikka.Tag = "Seinä"; 
    320         palikka.Restitution = 0; 
    321         palikka.Shape = Shape.Rectangle; 
    322         palikka.Color = Color.White; 
    323         Add(palikka); 
     345        pelaaja.Velocity = nopeus; //nopeus=tässä käytetään osoittamaan pelaajan liikkumissuuntaa, joten pelaajan tekstuuri kääntyy liikesuuntaan. 
     346        if (nopeus.Magnitude != 0) //jos pelaaja ei liiku 
     347        { 
     348            pelaaja.Angle = nopeus.Angle - Angle.RightAngle; //ei käännetä pelaajaa takaisin oletussuuntaan. 
     349        } 
    324350    } 
    325351} 
  • 2012/23/JimB/NameInPending/NameinPending/NameinPending/NameinPendingContent/NameinPendingContent.contentproj

    r2832 r2836  
    114114    </Compile> 
    115115  </ItemGroup> 
     116  <ItemGroup> 
     117    <Compile Include="pistol1.wav"> 
     118      <Name>pistol1</Name> 
     119      <Importer>WavImporter</Importer> 
     120      <Processor>SoundEffectProcessor</Processor> 
     121    </Compile> 
     122  </ItemGroup> 
     123  <ItemGroup> 
     124    <Compile Include="blood.png"> 
     125      <Name>blood</Name> 
     126      <Importer>TextureImporter</Importer> 
     127      <Processor>TextureProcessor</Processor> 
     128    </Compile> 
     129  </ItemGroup> 
     130  <ItemGroup> 
     131    <Compile Include="Tausta.png"> 
     132      <Name>Tausta</Name> 
     133      <Importer>TextureImporter</Importer> 
     134      <Processor>TextureProcessor</Processor> 
     135    </Compile> 
     136  </ItemGroup> 
    116137  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    117138  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.