【问题标题】:how can i make my code show this output im new to smfl and codeblock [duplicate]我怎样才能让我的代码显示这个输出我是新的 sfml 和代码块 [重复]
【发布时间】:2021-02-20 17:42:06
【问题描述】:

我怎样才能让我的代码显示这个输出我是新的 smfl 和 codeblock 我不知道如何调用精灵并让它移动 我和我的朋友在这个大流行期间很困惑在线课程很难:(

this is the output

#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>


class Game
{
    public:Game();
        void             run();

    private:
        void processEvents();
        void update(sf::Time deltaTime);
        void render();
        void handlePlayerInput(sf::Keyboard::Key key,bool isPressed);

    private:
        sf::RenderWindow mWindow;
        sf::CircleShape  mPlayer;
        bool mIsMovingUp = false;
        bool mIsMovingDown = false;
        bool mIsMovingLeft = false;
        bool mIsMovingRight = false;
        float PlayerSpeed = 10.0f;
        sf::Time TimePerFrame = sf::seconds(1.f / 60.f);
};

Game::Game()
: mWindow(sf::VideoMode(640, 480), "SFML Application")
, mPlayer()
{
    mPlayer.setRadius(40.f);
    mPlayer.setPosition(100.f, 100.f);
    mPlayer.setFillColor(sf::Color::Cyan);
}

这里是完整代码的链接https://pastebin.com/g4v2DzgF 请发送帮助 S.O.S

【问题讨论】:

  • 您当前的代码显示什么?此外,我们通常需要一个最小的示例,但是您在此处提供的代码不会尝试解决您想要解决的问题。看来链接上的完整代码确实试图解决问题。也许你把代码简化得太多了。
  • 我当前的输出只是我想要制作的青色球,如图所示,请原谅我的英语不是我的母语

标签: c++ sprite sfml


【解决方案1】:

首先你需要加载纹理。

sf::Texture texture;
texture.loadFromFile("ship.png");

不要删除纹理。它必须存在才能使用它。

接下来您需要使用纹理创建一个精灵。

sf::Sprite sprite(texture);

记住要绘制精灵,这与绘制玩家的方式相同。

您也可以像移动播放器一样移动精灵。

查看文档了解更多详情:

【讨论】:

    猜你喜欢
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多