Changeset 9132 for 2017/utsjoki/NilláN/Speargear
- Timestamp:
- 2017-07-26 14:44:17 (6 years ago)
- 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 34 34 PhysicsObject alaReuna; 35 35 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 36 47 public override void Begin() 37 48 { … … 63 74 pelaaja2 = LuoPelaaja(-100, 0); 64 75 76 AddCollisionHandler<Pelaaja,PhysicsObject>(pelaaja1, "keihäs2", osuuKeihääseen); 77 AddCollisionHandler<Pelaaja, PhysicsObject>(pelaaja2, "keihäs1", osuuKeihääseen); 78 65 79 vasenReuna = Level.CreateLeftBorder(); 66 80 oikeaReuna = Level.CreateRightBorder(); … … 70 84 } 71 85 72 void PelaajaLiike(Pelaaja pelaaja, Vector nopeus )86 void PelaajaLiike(Pelaaja pelaaja, Vector nopeus, Image uusikuva) 73 87 { 74 88 pelaaja.Push(nopeus); 75 89 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 //} 76 105 } 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 //} 77 126 78 127 void Ohjaimet() 79 128 { 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); 84 133 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); 89 138 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"); 92 141 93 142 … … 95 144 } 96 145 97 void Lyönti(Pelaaja pelaaja )146 void Lyönti(Pelaaja pelaaja, string tägi) 98 147 { 99 148 PhysicsObject keihäs = new PhysicsObject(50, 10); … … 102 151 keihäs.CanRotate = false; 103 152 keihäs.LifetimeLeft = TimeSpan.FromSeconds(0.5); 104 153 keihäs.IgnoresCollisionResponse = true; 154 keihäs.Tag = tägi; 105 155 Add(keihäs); 106 156 157 keihäs.Angle = pelaaja.suunta.Angle; 158 107 159 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 }; 110 165 ajastin.Start(); 111 166 112 167 } 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 } 113 174 } 114 175
Note: See TracChangeset
for help on using the changeset viewer.