SFML,将空白纹理加载到Sprite中

问题描述 投票:0回答:1

我对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个回答
0
投票

我不确定,但是将PTexture存储在游戏类中。我希望可以修复该错误。

© www.soinside.com 2019 - 2024. All rights reserved.