我在理解碰撞是如何与精灵一起工作时遇到了一些麻烦。我对它有一个好主意,但每当我尝试将它实现到我的游戏中时,我只会收到错误消息“attributeError:'pygame.surface'对象没有属性'rect'”
ufo_lvl_1 = pygame.image.load("ufo1.png")
bullet = pygame.image.load("bullet.png")
class Bullet(pygame.sprite.Sprite):
def __init__(self):
# Call the parent class (Sprite) constructor
pygame.sprite.Sprite.__init__(self)
self.image = bullet
self.damage = 5
self.rect = self.image.get_rect()
def update(self):
if 1 == 1:
self.rect.x += 15
if self.rect.x >1360:
self.kill()
class ufo1(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = ufo_lvl_1
self.health = 10
self.rect = self.image.get_rect()
def update(self):
if 1==1:
self.rect.x -= 10
if self.rect.colliderect(bullet.rect):
self.health -= bullet.damage
if self.health >= 0:
self.kill()
bullet.kill()
基本上我所有的精灵都在工作(不包括ufo1),但是当我创建一个ufo1精灵时,它崩溃了,我不知道如何解决它。
提前致谢。
答案 0 :(得分:0)