protected override void Update(GameTime gameTime) { czas = gameTime; Sterowanie.Update(); if (Sterowanie.przycisk_czy_wciœniête(Buttons.Back) || Sterowanie.klawiatura_czy_wciœniête(Keys.Escape)) { this.Exit(); } if (Sterowanie.klawiatura_czy_wciœniête(Keys.P)) { pauza = !pauza; } if (!pauza) { Jednostka_menad¿er.Update(); Cz¹stki_menad¿er.Update(); Przeciwnik_pojawienie_siê.Update(); Gracz_status.Update(); } base.Update(gameTime); }
public override void Update() { if (czy_nie_żyje) { if (Gracz_status.życia == 0) { if (Keyboard.GetState().IsKeyDown(Keys.T)) { klatek_do_pojawienia_się = 120; Gracz_status.Reset(); pozycja = Start.rozmiar_ekranu / 2; } else if (Keyboard.GetState().IsKeyDown(Keys.N)) { gra.wyjdź(); } } else { --klatek_do_pojawienia_się; } return; } const float szybkość = 8; Prędkość = szybkość * Sterowanie.pobierz_ruch(); pozycja += Prędkość; pozycja = Vector2.Clamp(pozycja, rozmiar / 2, Start.rozmiar_ekranu - rozmiar / 2); if (Prędkość.LengthSquared() > 0) { orientacja = Dodatki.do_kąta(Prędkość); } var cel = Sterowanie.pobierz_celownik(); if (cel.LengthSquared() > 0 && klatki_pozostało <= 0) { klatki_pozostało = klatki_czas; float cel_kąt = Dodatki.do_kąta(cel); Quaternion cel_quat = Quaternion.CreateFromYawPitchRoll(0, 0, cel_kąt); float losowy_spread = Dodatki.następny_float(losowo, -0.04f, 0.04f) + Dodatki.następny_float(losowo, -0.04f, 0.04f); Vector2 prędkość_p = Prędkość_math.z_krzywej(cel_kąt + losowy_spread, 11f); Vector2 pęd = Vector2.Transform(new Vector2(25, -8), cel_quat); Jednostka_menadżer.dodaj(new Pocisk(pozycja + pęd, prędkość_p)); pęd = Vector2.Transform(new Vector2(25, 8), cel_quat); Jednostka_menadżer.dodaj(new Pocisk(pozycja + pęd, prędkość_p)); Zawartość.Dźwięk.Strzał.Play(0.2f, losowo.następny_float(-0.2f, 0.2f), 0); } if (klatki_pozostało > 0) { klatki_pozostało--; } strzał_powtarzalny(); Prędkość = Vector2.Zero; }