【问题标题】:SFML, Blank texture loaded onto a SpriteSFML,加载到 Sprite 上的空白纹理
【发布时间】:2020-07-21 04:16:17
【问题描述】:

我对 SFML 还是很陌生。所以我正在学习如何将纹理加载到 Sprite 上,但似乎我无法正确处理。所有加载的是一个白色方块,它没有给出错误消息。代码如下:

#include <SFML/Graphics.hpp>
#include <iostream>
using namespace std;

class Game
{
   public:
     Game();
     void run();
   private:
      void processevents(), update(), render();
      void HPI(sf::Keyboard::Key key, bool isPressed);
   private:
      bool IMU, IMD, IMR, IML; 
      sf::RenderWindow MW;
      sf::Sprite O; 
};

Game::Game() :MW(sf::VideoMode(1200, 650), "Dominus"), O() {
    sf::Texture PTexture;
    if (!PTexture.loadFromFile("Fridgus.png")) {
        throw std::runtime_error("Could not load image.png");
    }
    O.setTexture(PTexture);
    O.setPosition(400.f, 250.f);
}
void Game::run() {
    while (MW.isOpen()) {
        processevents();
        update();
        render();
    }
}
void Game::render() {
    MW.clear();
    MW.draw(O);
    MW.display();
}

int main()
{
    Game game;
    game.run();
}

我什至指定在图像未加载但似乎图像确实加载时抛出错误。我想我对发生的事情有一点了解,那就是它与范围有关,但我不明白如何。 (忽略其他我没有初始化的函数)

【问题讨论】:

标签: c++ scope textures sprite sfml


【解决方案1】:

我不确定,但将 PTexture 存储在游戏类中。我希望能修复这个错误。

【讨论】:

    猜你喜欢
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 2021-12-07
    • 2015-03-13
    • 2016-08-19
    • 2020-05-06
    相关资源
    最近更新 更多