,我想使用精灵表在 pygame 中创建一个自上而下的 rpg。,例如,我希望能够按空格键进行攻击,这会触发攻击动画,然后恢复正常,上面的代码是我所拥有的。如果我按一次空格键,它会遍历动画并停止,但如果我按两次空格键,它会循环播放,因为它是如何编程的。,需要一些动画方面的帮助,谢谢,问题是由第二次按下空格时的以下调用引起的:,这会将“上一个”和“现在”状态设置为“攻击”。
结果,当在
animate_attack()
方法中重置状态时,它将保持“攻击”状态:,作为快速修复,请确保仅在尚未设置状态时才更改状态:,作为更好的修复,您应该封装状态,
这样只有 player 类才能处理它自己的状态,例如:,这样,就不需要知道类外部的任何状态:,