【发布时间】:2012-12-03 15:14:59
【问题描述】:
有一个问题,当我试图在绘图循环中绘制一个精灵时,它不会绘制 在这个类的构造函数中,我正在设置精灵。
我拥有的构造函数:
texture.loadFromFile("img1.png");
sprite.setTexture(texture);
精灵和纹理在头文件中
我做了一些实验,如果我在绘图循环中使用texture.loadFromFile();,它就可以工作。
但是我必须每秒“重新加载”图片 60 次。
void PlayerReceiver::draw(sf::RenderWindow & rw){
//texture.loadFromFile("mario.png");
//std::cout<<texture.getSize().y<<std::endl;
rw.draw(sprite);
}
感谢您的回答。
【问题讨论】:
-
这个有一个页面:sfml-dev.org/tutorials/1.4/graphics-sprite.php我的猜测是你每次都销毁对象,因此需要重新加载,因为内存不再存在了
-
我的 palantir 告诉我
spirte或texture是在本地定义的 -
问题是它不会因为循环而绘制(但我不明白为什么它应该工作),如果我把它放在我的主要上它工作正常。很好的答案谢谢你们试一试
-
另请注意,您不会每秒“重新加载”图片 60 次。加载后,使用与参数相同的字符串调用 loadFromFile() 将返回已加载的图像。不是说这是最佳的,只是想澄清一下! ;-)
标签: c++ sprite textures draw sfml