protected override void Update(GameTime gameTime) { if (gameState == GameState.Game) { UpdateGameLogic(gameTime); } else { menu.Update(); } base.Update(gameTime); }
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> /// protected override void Update(GameTime gameTime) { // TODO: Add your update logic here if (gameState == GameState.Game) { //скорость фона pos1.Y += speed1; if (pos1.Y > 1920) { pos1.Y = 0; } //скорость первого слоя звезд pos2.Y += speed2; if (pos2.Y > 600) { pos2.Y = 0; } //скорость второго слоя звезд pos3.Y += speed3; if (pos3.Y > 600) { pos3.Y = 0; } //скорость пули KeyboardState state = Keyboard.GetState(); if (state.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Left) && (SpaceShip.PositionX > 2)) { SpaceShip.PositionX -= speed2; } if (state.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Right) && (SpaceShip.PositionX < graphics.PreferredBackBufferWidth - 82)) { SpaceShip.PositionX += speed2; } if (state.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Up) && (SpaceShip.PositionY > 2)) { SpaceShip.PositionY -= speed2; } if (state.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Down) && (SpaceShip.PositionY < graphics.PreferredBackBufferWidth - 300)) { SpaceShip.PositionY += speed2; } //выход в меню if (SpaceShip.IsAlive <= 0) { gameState = GameState.Menu; } if (state.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape)) { gameState = GameState.Menu; } //AnimatedBang.Update(gameTime); alive.Update(gameTime); unalive.Update(gameTime); } else { menu.Update(); } base.Update(gameTime); }