Pygame - 与Spritegroup的碰撞点

时间:2015-10-02 13:19:33

标签: pygame sprite collision-detection

我对prgramming和python / pygame完全陌生(而且我是德国人,所以请为我提供英语不理想的优先考虑)。

好吧,

我创建了一个Sprite:

class Holzfaeller_sprite(pygame.sprite.Sprite):
    def __init__ (self, width = 20, height = 20):
        #super(Holzfaeller_sprite, self).__init__()
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.Surface((width, height))
        self.image = pygame.image.load("holzfaeller.png")
        self.rect = self.image.get_rect()

    def set_position(self, x, y):
        self.rect.x = x
        self.rect.y = y

然后我创建了一个组并将精灵添加到它:

baut_group = pygame.sprite.Group()
a_Baut = Holzfaeller_sprite()
b_Baut = Festung_sprite()
baut_group.add(a_Baut, b_Baut)

在我的游戏循环中,我想检查,如果精灵点击或不点击:

elif event.type == pygame.MOUSEBUTTONDOWN and holzfaeller is False and festung is False:
    if a_Baut.rect.collidepoint(possi):
        anklickbar = False
        print("not working")
    elif b_Baut.rect.collidepoint(possi):
        anklickbar = False
        print("not working")
    elif anklickbar is True:
        tilemap_1[possi_y][possi_x] = 0

那很好,但是要添加到行elif event.type == pygame.MOUSEBUTTONDOWN and holzfaeller is False and festung is False会有很多工作和代码。

所以我问自己,是否有可能检查我点击的位置是否是特定精灵组的精灵。

我希望你明白,我的意思。

谢谢!

0 个答案:

没有答案