private void CheckKeyboardAndUpdateMovement(GameTime gameTime) { KeyboardState keyboardState = Keyboard.GetState(); if (!keyboardState.IsKeyDown(Keys.Left) || !keyboardState.IsKeyDown(Keys.Left)) { Animation.SetRunDirection(Animation.FrameDirection.Front); } if (keyboardState.IsKeyDown(Keys.Left)) { Movement -= Vector2.UnitX * 0.8f; Animation.SetRunDirection(Animation.FrameDirection.Left); } if (keyboardState.IsKeyDown(Keys.Right)) { Movement += Vector2.UnitX * 0.8f; Animation.SetRunDirection(Animation.FrameDirection.Right); } if (keyboardState.IsKeyDown(Keys.Space) && IsOnFirmGround()) { if (!keyboardOldState.IsKeyDown(Keys.Space)) { Movement = -Vector2.UnitY * 24; // jump height } } else if (keyboardOldState.IsKeyDown(Keys.Space)) { } // Key was down last update, but not now, so it has just been released keyboardOldState = keyboardState; }
public void Update(GameTime gameTime, Hero player) { if (Animation != null) { Animation.Position = Position; Animation.SetRunDirection(Animation.FrameDirection.Front); Animation.Update(gameTime, Position); } }
private void ChangeRunningDirectionIfBlocked() { if (Movement.X == 0) { Speed *= -1; Animation.SetRunDirection(Animation.FrameDirection.Right); } else if (Movement.X < 0) { Animation.SetRunDirection(Animation.FrameDirection.Front); } }
public void Update(GameTime gameTime, Hero player) { UpdatePositionBasedOnMovement(gameTime); if (Animation != null) { Animation.Position = Position; Animation.SetRunDirection(Animation.FrameDirection.Front); Animation.Update(gameTime, Position); } if (Position.Y > 800) // als trap van het scherm af is reset dan deze trap op dezelfde locatie { Animation.Position = new Vector2(Position.X, -500); Position = new Vector2(Position.X, -500); } Collision(player); }
public void Update(GameTime gameTime, Hero player) { Movement += Vector2.UnitX * Speed; AffectWithGravity(); SimulateFriction(); MoveAsFarAsPossible(gameTime); StopMovingIfBlocked(); ChangeRunningDirectionIfBlocked(); if (Animation != null) { Animation.Position = Position; if (IsHalted) { Animation.SetRunDirection(Animation.FrameDirection.Front); } Animation.Update(gameTime, Position); } Collision(player); }
public void Update(GameTime gameTime) { CheckKeyboardAndUpdateMovement(gameTime); AffectWithGravity(); SimulateFriction(); MoveIfPossible(gameTime); StopMovingIfBlocked(); CheckPossibleMovement(); if (Animation != null) { Animation.Position = Position; if (IsHalted) { Animation.SetRunDirection(Animation.FrameDirection.Front); } Animation.Update(gameTime, Position); } }