我正在使用Pygame(Python)开发我的第一个视频游戏,类似于Space Invaders。 敌人需要同步移动,为了得到它我创建了一个精灵。
为什么选择雪碧? 使用update()方法移动它。敌人将根据这个看不见的盒子精灵(EnemyBox)通过readind更新的rect变量来调整他们的位置。
但是... 我尝试运行它时收到此消息: AttributeError:'EnemyBox'对象没有属性'image'
问题: 有没有办法获得一个完全不可见的精灵? 你认为有更好的机制来让所有敌人同步移动吗?
提前致谢
答案 0 :(得分:1)
如果你想使用EnemyBox,你不必为此使用Sprite。
您可以创建自己的具有Rect属性的类。
有些事情:
class EnemyBox:
def __init__(self):
self.rect = Rect(0,0,50,50)
def update(self):
self.rect.move_ip(5,0)
你可以有一个不可见的精灵,但你仍然需要一个分配给它的图像。查看Dirty Sprite