【发布时间】: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();
}
我什至指定在图像未加载但似乎图像确实加载时抛出错误。我想我对发生的事情有一点了解,那就是它与范围有关,但我不明白如何。 (忽略其他我没有初始化的函数)
【问题讨论】:
-
看看来自official SFML tutorial的白方块问题一章
标签: c++ scope textures sprite sfml