pygame阻止精灵重叠

时间:2013-05-06 10:09:12

标签: python pygame sprite

我正在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

0 个答案:

没有答案