如何在Pygame中制作一个完全不可见的精灵?

时间:2014-02-06 12:37:19

标签: python pygame

我正在使用Pygame(Python)开发我的第一个视频游戏,类似于Space Invaders。 敌人需要同步移动,为了得到它我创建了一个精灵。

为什么选择雪碧? 使用update()方法移动它。敌人将根据这个看不见的盒子精灵(EnemyBox)通过readind更新的rect变量来调整他们的位置。

但是... 我尝试运行它时收到此消息: AttributeError:'EnemyBox'对象没有属性'image'

问题: 有没有办法获得一个完全不可见的精灵? 你认为有更好的机制来让所有敌人同步移动吗?

提前致谢

1 个答案:

答案 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