0

我正在用 pygame 制作一个自上而下的游戏,它现在非常基础,我的编码经验/技能有限,所以我知道我的代码不会完美无缺。现在我有一个角色,并且生成的僵尸在追赶他,但过了一段时间它们都合并成一个精灵图像,我不知道如何阻止它。

根据猜测,我认为我应该使用 for 循环来检查僵尸是否与其他僵尸发生碰撞,但我不知道该怎么做,或者是否应该在僵尸类中完成。

僵尸移动区域的代码如下,我不确定移动代码是否需要大修才能工作,因为它是相当原始的移动代码。

感谢您的帮助,

亚历克斯

def update(self):
    zx=self.rect.topleft[0]-player.rect[0]
    zy=self.rect.topleft[1]-player.rect[1]
    rads=math.atan2(-zy, zx)
    rads %= 2*pi
    angle = math.degrees(rads)
    self.rimage=pygame.transform.rotate(self.image, angle-90)
    size=self.rimage.get_size()

    if self.damaged:
        self.rimage=pygame.transform.rotate(self.image_damaged, angle-90)
        screen.blit(self.rimage, (self.rect.topleft[0]-size[0]/2,self.rect.topleft[1]-size[1]/2))
        print "oww"
        self.damaged=False


    if pygame.sprite.collide_circle(self, player):
        self.collidenumber += 1
    else:
        self.collidenumber = 0

    if self.collidenumber < 3:

        if player.rect[0]<self.rect[0]:
            self.rect[0]-=self.speed

        if player.rect[0]>self.rect[0]:
            self.rect[0]+=self.speed

        if player.rect[1]<self.rect[1]:
            self.rect[1]-=self.speed

        if player.rect[1]>self.rect[1]:
            self.rect[1]+=self.speedenter code here
4

0 回答 0