在上一节中,我们搭建了游戏的基本框架,用循环处理我们的游戏世界,还掌握了一些方法去解决因机器性能不同而引起的问题。在这一节中,我们将会学习:
- 创建 Player 类
- 移动我们的 Player
一、创建 Player 类
这里,将会用**矩形(sf::RectangleShape)**代替我们之前的圆形, Player 应该有这几个属性,分别是它的形状、大小和颜色,它的方向,它的速度。
因此我们创建了这么一个 Player 类
class Player : public sf::Drawable { public: Player(const Player&) = delete; Player& operator=(const Player&) = delete; Player(); template<typename ... Args> void setPosition(Args&& ... args) { _shape.setPosition(std::forward<Args>(args)...); } void update(sf::Time deltaTime); bool isMoving; int rotation; private: virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const override; sf::RectangleShape _shape; sf::Vector2f _v