// on updates do animations and controls protected override void Update(double deltaTime) { // if user click 'exit' action, exit game if (Input.Down("exit")) { Game.Exit(); } // is player currently walking + movement speed bool isWalking = false; double moveSpeed = deltaTime * 175f; // should we flip player direction? bool _flipSprite = _player.Size.X < 0; // player walks up if (Input.Down("up")) { isWalking = true; _player.Position.Y -= (float)moveSpeed; } // player walks down if (Input.Down("down")) { isWalking = true; _player.Position.Y += (float)moveSpeed; } // player walks left if (Input.Down("left")) { isWalking = true; _player.Position.X -= (float)moveSpeed; _flipSprite = true; } // player walks right if (Input.Down("right")) { isWalking = true; _player.Position.X += (float)moveSpeed; _flipSprite = false; } // animate player _spritesheet.Animate(_player, isWalking ? "walk" : "stand", ref _animationProgress, deltaTime, 5f); // flip sprite if (_flipSprite) { _player.Size.X *= -1; } }