返回

让方块动起来,写一个简单的小游戏

见解分享

在上一节中,我们已经学习了如何搭建一个基本的游戏框架,并且学会了如何用循环来处理我们的游戏世界。我们还了解了一些方法来解决因机器性能不同而引起的问题。在本节中,我们将学习如何使用矩形来代替之前的圆形来表示我们的玩家。同时,玩家应该具备以下属性:形状、大小等。

接下来,我们将学习如何使用键盘输入来移动玩家。

首先,我们需要创建一个矩形来表示我们的玩家。我们可以使用以下代码来做到这一点:

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来创建一个小游戏的教程。