返回
让方块动起来,写一个简单的小游戏
见解分享
2023-10-16 23:05:52
在上一节中,我们已经学习了如何搭建一个基本的游戏框架,并且学会了如何用循环来处理我们的游戏世界。我们还了解了一些方法来解决因机器性能不同而引起的问题。在本节中,我们将学习如何使用矩形来代替之前的圆形来表示我们的玩家。同时,玩家应该具备以下属性:形状、大小等。
接下来,我们将学习如何使用键盘输入来移动玩家。
首先,我们需要创建一个矩形来表示我们的玩家。我们可以使用以下代码来做到这一点:
sf::RectangleShape player;
player.setSize(sf::Vector2f(50.0f, 50.0f));
player.setPosition(sf::Vector2f(100.0f, 100.0f));
player.setFillColor(sf::Color::Blue);
接下来,我们需要创建一个循环来处理我们的游戏世界。我们可以使用以下代码来做到这一点:
while (window.isOpen())
{
// 处理事件
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
{
window.close();
}
else if (event.type == sf::Event::KeyPressed)
{
if (event.key.code == sf::Keyboard::Up)
{
player.move(0.0f, -5.0f);
}
else if (event.key.code == sf::Keyboard::Down)
{
player.move(0.0f, 5.0f);
}
else if (event.key.code == sf::Keyboard::Left)
{
player.move(-5.0f, 0.0f);
}
else if (event.key.code == sf::Keyboard::Right)
{
player.move(5.0f, 0.0f);
}
}
}
// 清除屏幕
window.clear();
// 绘制玩家
window.draw(player);
// 显示屏幕
window.display();
}
现在,我们就可以用键盘来控制玩家的移动了。当我们按下上键时,玩家就会向上移动;当我们按下下键时,玩家就会向下移动;当我们按下左键时,玩家就会向左移动;当我们按下右键时,玩家就会向右移动。
这就是如何用C++和SFML来创建一个小游戏的教程。