public override void Update(Microsoft.Xna.Framework.GameTime gameTime, int tickCount, float scrollRows) { this.scrollRows = scrollRows; if (screenPad.GetState().Buttons.X == ButtonState.Released && screenPad.GetState().Buttons.X != lastButtonState) { reloaded = true; } lastButtonState = screenPad.GetState().Buttons.X; accumShootingTime = accumShootingTime.Add(gameTime.ElapsedGameTime); if (onWindowPosition != null) { if (accumElapsedGameTime >= TimeSpan.FromMilliseconds(tickInMS)) { if (speed < 1f) { Speed += acceleration; } accumElapsedGameTime = TimeSpan.FromSeconds(0); onWindowPosition = onWindowPosition + speed * new Vector2(0, 1) + direction; } accumElapsedGameTime = accumElapsedGameTime.Add(gameTime.ElapsedGameTime); Position = (onWindowPosition.Value / scrollRowHeight) + new Vector2(0, scrollRows); } if (IsOffScreen()) { OnOffScreen(new EventArgs()); } }
public override void Update(GameTime gameTime, int tickCount, float scrollRows) { var t = (float)gameTime.ElapsedGameTime.TotalSeconds; Speed += acceleration; Position = Position + (float)(Speed * t) * Direction; Position = new Vector2(player.Position.X + (player.Size.X - this.Size.X) / 2f, Position.Y); if (IsOffScreen() || Position.Y >= player.Position.Y) { OnOffScreen(new EventArgs()); } if (boomerangDirection == BoomerangDirection.Up && screenPad.GetState().Buttons.X == ButtonState.Released) { acceleration = -2; boomerangDirection = BoomerangDirection.Down; } }
public char GetInputCode(IScreenPad screenPad, int blinkCount) { var inputCode = InputCodes.Empty; if (GameSettings.Instance.PlatformType == PlatformType.WindowsPhone) { if (screenPad.GetState().Buttons.B == ButtonState.Pressed) { buttonBPressed = true; } else if (screenPad.GetState().Buttons.B == ButtonState.Released && buttonBPressed) { buttonBPressed = false; inputCode = InputCodes.B; } if (screenPad.GetState().Buttons.A == ButtonState.Pressed) { buttonAPressed = true; } else if (screenPad.GetState().Buttons.A == ButtonState.Released && buttonAPressed) { buttonAPressed = false; inputCode = InputCodes.A; } if (screenPad.GetState().Buttons.X == ButtonState.Pressed) { buttonXPressed = true; inputCode = InputCodes.X; } else if (screenPad.GetState().Buttons.X == ButtonState.Released && buttonXPressed) { buttonXPressed = false; } if (screenPad.LeftStick.Y > .75f && (inputCode != 'U' || blinkCount % 4 == 0)) { inputCode = InputCodes.U; } if (screenPad.LeftStick.Y < -.75f && (inputCode != 'D' || blinkCount % 4 == 0)) { inputCode = InputCodes.D; } } if (GameSettings.Instance.PlatformType == PlatformType.Windows || GameSettings.Instance.PlatformType == PlatformType.WindowsUniversal) { var keyboardState = Microsoft.Xna.Framework.Input.Keyboard.GetState(); if (keyboardState.IsKeyDown(xInput.Keys.A)) { buttonAPressed = true; } else if (keyboardState.IsKeyUp(xInput.Keys.A) && buttonAPressed) { buttonAPressed = false; inputCode = InputCodes.A; } if (keyboardState.IsKeyDown(xInput.Keys.B)) { buttonBPressed = true; } else if (keyboardState.IsKeyUp(xInput.Keys.B) && buttonBPressed) { buttonBPressed = false; inputCode = InputCodes.B; } if (keyboardState.IsKeyDown(xInput.Keys.Space)) { buttonXPressed = true; inputCode = InputCodes.X; } if (keyboardState.IsKeyDown(xInput.Keys.Up)) { buttonUpPressed = true; } else if (keyboardState.IsKeyUp(xInput.Keys.Up) && buttonUpPressed) { buttonUpPressed = false; inputCode = InputCodes.U; } if (keyboardState.IsKeyDown(xInput.Keys.Down)) { buttonDownPressed = true; } else if (keyboardState.IsKeyUp(xInput.Keys.Down) && buttonDownPressed) { buttonDownPressed = false; inputCode = InputCodes.D; } } return(inputCode); }