我可以创建和处理一个不在一个组中的pygame精灵吗?

2024-09-27 21:26:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个arkanoid游戏。 块被定义为精灵并分组在精灵组中

我也想将球定义为精灵,但因为它是一个单一的对象,所以将它作为一个项目使用,而不是作为“球”组的一部分

问题是,当我这样编码时:

class ball(pygame.sprite.Sprite):
    def __init__(self,pos):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((BALL, BALL))
        self.image.fill((255,0,255))
        self.rect = self.image.get_rect()
        self.rect.centerx = pos[0]
        self.rect.centery = pos[1]


ball_item = ball((5,5))

我无法使用sprite组方法,例如ball_item.draw()

有没有办法克服这个问题

另外,我可以将ball分组为ball_组,并使用ball_group.sprites()[0]来解决它,但看起来很麻烦


Tags: posrectimageself游戏定义inititem
1条回答
网友
1楼 · 发布于 2024-09-27 21:26:10

您可以添加一个单独的^{}并将球对象放入组中:

ball_group = pygame.sprite.Group([ball((5,5))])

此外,还有is^{},它是一个组容器,包含一个精灵:

ball_group = pygame.sprite.GroupSingle(ball((5,5)))

注意,您可以通过方法^{}和订阅获取中的^{}对象:

ball_item = ball_group.sprites()[0]

相关问题 更多 >

    热门问题