Changeset 9132


Ignore:
Timestamp:
2017-07-26 14:44:17 (23 months ago)
Author:
sieerinn
Message:
 
Location:
2017/utsjoki/NilláN/Speargear/Speargear/Speargear
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 2017/utsjoki/NilláN/Speargear/Speargear/Speargear/Speargear.cs

    r9092 r9132  
    3434    PhysicsObject alaReuna; 
    3535 
     36    Image ylösKuva = LoadImage("ylös"); 
     37    Image alasKuva = LoadImage("alas"); 
     38    Image oikeaKuva = LoadImage("oikea"); 
     39    Image vasenKuva = LoadImage("peliukko"); 
     40 
     41    bool vasen = false; 
     42    bool oikea = false; 
     43 
     44    bool vasen2 = false; 
     45    bool oikea2 = false; 
     46 
    3647    public override void Begin() 
    3748    { 
     
    6374        pelaaja2 = LuoPelaaja(-100, 0); 
    6475 
     76        AddCollisionHandler<Pelaaja,PhysicsObject>(pelaaja1, "keihäs2", osuuKeihääseen); 
     77        AddCollisionHandler<Pelaaja, PhysicsObject>(pelaaja2, "keihäs1", osuuKeihääseen); 
     78 
    6579        vasenReuna = Level.CreateLeftBorder(); 
    6680        oikeaReuna = Level.CreateRightBorder(); 
     
    7084    } 
    7185 
    72     void PelaajaLiike(Pelaaja pelaaja, Vector nopeus) 
     86    void PelaajaLiike(Pelaaja pelaaja, Vector nopeus, Image uusikuva) 
    7387    { 
    7488        pelaaja.Push(nopeus); 
    7589        pelaaja.suunta = nopeus; 
     90        pelaaja.Image = uusikuva; 
     91 
     92        //if (nopeus.X < 0 && oikea == false) 
     93        //{ 
     94        //    pelaaja.MirrorImage(); 
     95        //    oikea = true; 
     96        //    vasen = false; 
     97 
     98        //} 
     99        //if (nopeus.X > 0 && vasen == false) 
     100        //{ 
     101        //    pelaaja.MirrorImage(); 
     102        //    oikea = false; 
     103        //    vasen = true; 
     104        //} 
    76105    } 
     106 
     107    //void Pelaaja2Liike(Pelaaja pelaaja, Vector nopeus) 
     108    //{ 
     109    //    pelaaja.Push(nopeus); 
     110    //    pelaaja.suunta = nopeus; 
     111 
     112    //    if (nopeus.X < 0 && oikea == false) 
     113    //    { 
     114    //        pelaaja.MirrorImage(); 
     115    //        oikea2 = true; 
     116    //        vasen2 = false; 
     117 
     118    //    } 
     119    //    if (nopeus.X > 0 && vasen == false) 
     120    //    { 
     121    //        pelaaja.MirrorImage(); 
     122    //        oikea2 = false; 
     123    //        vasen2 = true; 
     124    //    } 
     125    //} 
    77126 
    78127    void Ohjaimet() 
    79128    { 
    80         Keyboard.Listen(Key.Up, ButtonState.Down, PelaajaLiike, null, pelaaja1, nopeusYlos); 
    81         Keyboard.Listen(Key.Down, ButtonState.Down, PelaajaLiike, null, pelaaja1, nopeusAlas); 
    82         Keyboard.Listen(Key.Right, ButtonState.Down, PelaajaLiike, null, pelaaja1, nopeusOikea); 
    83         Keyboard.Listen(Key.Left, ButtonState.Down, PelaajaLiike, null, pelaaja1, nopeusVasen); 
     129        Keyboard.Listen(Key.Up, ButtonState.Down, PelaajaLiike, null, pelaaja1, nopeusYlos, ylösKuva); 
     130        Keyboard.Listen(Key.Down, ButtonState.Down, PelaajaLiike, null, pelaaja1, nopeusAlas, alasKuva); 
     131        Keyboard.Listen(Key.Right, ButtonState.Down, PelaajaLiike, null, pelaaja1, nopeusOikea, oikeaKuva); 
     132        Keyboard.Listen(Key.Left, ButtonState.Down, PelaajaLiike, null, pelaaja1, nopeusVasen, vasenKuva); 
    84133 
    85         Keyboard.Listen(Key.W, ButtonState.Down, PelaajaLiike, null, pelaaja2, nopeusYlos); 
    86         Keyboard.Listen(Key.S, ButtonState.Down, PelaajaLiike, null, pelaaja2, nopeusAlas); 
    87         Keyboard.Listen(Key.D, ButtonState.Down, PelaajaLiike, null, pelaaja2, nopeusOikea); 
    88         Keyboard.Listen(Key.A, ButtonState.Down, PelaajaLiike, null, pelaaja2, nopeusVasen); 
     134        Keyboard.Listen(Key.W, ButtonState.Down, PelaajaLiike, null, pelaaja2, nopeusYlos, ylösKuva); 
     135        Keyboard.Listen(Key.S, ButtonState.Down, PelaajaLiike, null, pelaaja2, nopeusAlas, alasKuva); 
     136        Keyboard.Listen(Key.D, ButtonState.Down, PelaajaLiike, null, pelaaja2, nopeusOikea, oikeaKuva); 
     137        Keyboard.Listen(Key.A, ButtonState.Down, PelaajaLiike, null, pelaaja2, nopeusVasen, vasenKuva); 
    89138 
    90         Keyboard.Listen(Key.Period, ButtonState.Pressed, Lyönti, null, pelaaja1); 
    91         Keyboard.Listen(Key.T, ButtonState.Pressed, Lyönti, null, pelaaja2); 
     139        Keyboard.Listen(Key.Period, ButtonState.Pressed, Lyönti, null, pelaaja1, "keihäs1"); 
     140        Keyboard.Listen(Key.T, ButtonState.Pressed, Lyönti, null, pelaaja2, "keihäs2"); 
    92141 
    93142 
     
    95144    } 
    96145 
    97     void Lyönti(Pelaaja pelaaja) 
     146    void Lyönti(Pelaaja pelaaja, string tägi) 
    98147    { 
    99148        PhysicsObject keihäs = new PhysicsObject(50, 10); 
     
    102151        keihäs.CanRotate = false; 
    103152        keihäs.LifetimeLeft = TimeSpan.FromSeconds(0.5); 
    104  
     153        keihäs.IgnoresCollisionResponse = true; 
     154        keihäs.Tag = tägi; 
    105155        Add(keihäs); 
    106156 
     157        keihäs.Angle = pelaaja.suunta.Angle; 
     158 
    107159        Timer ajastin = new Timer(); 
    108         ajastin.Interval = 0.05; 
    109         ajastin.Timeout += delegate { keihäs.Position = pelaaja.Position + pelaaja.suunta.Normalize() * 50;}; 
     160        ajastin.Interval = 0.02; 
     161        ajastin.Timeout += delegate { 
     162            keihäs.Position = pelaaja.Position + pelaaja.suunta.Normalize() * 50; 
     163            keihäs.Velocity = pelaaja.Velocity; 
     164        }; 
    110165        ajastin.Start(); 
    111166 
    112167    } 
     168 
     169    void osuuKeihääseen(Pelaaja pelaaja, PhysicsObject keihäs) 
     170    { 
     171        pelaaja.ElamaLaskuri.Value -= 1; 
     172        pelaaja.Hit((pelaaja.Position - keihäs.Position).Normalize() * 5000); 
     173    } 
    113174} 
    114175 
Note: See TracChangeset for help on using the changeset viewer.