我不知道为什么,但我的精灵没有显示。当我运行代码时,我没有得到任何错误,我做了一个cout,看起来在sprite上调用setTextureRect的函数被调用。
这是对函数的调用,在这种情况下this指针指的是Player对象的实例
anim.playFrame(this, sf::IntRect(32, 0, 32, 32));
这是函数本身,Frame只是sf :: IntRect
的typedefvoid Animation::playFrame(IAnimatable* entity, Frame frame) {
entity->sprite.setTextureRect(frame);
std::cout << "new texture set" << std::endl;
}
在游戏循环中,我打电话给
Window.draw(player.sprite);
Window.display();
答案 0 :(得分:0)
我认为你有白方问题。 http://www.sfml-dev.org/tutorials/2.3/graphics-sprite.php 是你可以找到解决方案的地方(你可能不会)。这也发生在我身上,虽然我仍有问题。