一旦定义了IntRect,我将如何进行它的更改?

How would I make an IntRect change once it has been defined?

本文关键字:何进行 定义 IntRect      更新时间:2023-10-16

我在SFML中有一个精灵表,我正在尝试自己制作一个动画精灵。我的想法是,只要键盘键被按下,就改变用IntRect完成的边界,但我找不到的是如何使我的IntRect变量改变其定义而不搞砸一切。我希望得到一个可以理解的答案,因为你可以看出我是一个初学者。

我要做的澄清是将sf::IntRect characterRect(0,0,192,192)更改为(0,192,192,192)

如果您正在使用SFML的图形库,那么您可能应该创建sf::Sprite的子类。更改sf::Sprite使用的矩形很简单:

mySpriteInstance.setTextureRect(sf::IntRect(0, 192, 192, 192));
请记住,sf::Rect<T>(和它的别名,例如sf::IntRect)有意地创建非常便宜。与其改变你已经拥有的属性,不如丢弃它并创建一个新的。只有在明确需要的情况下才需要修改/保持相同的矩形。

关于sf::Sprite类的教程可以在这里找到

相关文章: