gpt4 book ai didi

python - 如何在 pygame 中创建一个矩形并将其分配给 Sprite ?

转载 作者:行者123 更新时间:2023-12-01 05:50:00 26 4
gpt4 key购买 nike

我已经构建了一个简单的游戏引擎,其中玩家和敌人类只是对象。
我想让它们成为 Sprite ,以便我可以检查碰撞并更好地管理它们,但我似乎找不到任何关于如何做到这一点的好例子......
我已经扩展了玩家类和敌人类来扩展 pygame.sprite.Sprite 类。
但是当我检查两者之间的碰撞时,
它说这两个类需要rects(矩形)。

我不知道该怎么做...

最佳答案

Sprite 是对象,您需要的一切都已作为字段包含在 Sprite 类中。您需要显式设置 Sprite 的边界矩形。

来自 pygame 文档:

pygame.sprite.spritecollide find Sprites in a Group that intersect another Sprite pygame.sprite.spritecollide(sprite, group, dokill, collided = None): return Sprite_list

Return a list containing all Sprites in a Group that intersect with another Sprite. Intersection is determined by comparing the Sprite.rect attribute of each Sprite.

因此,您需要将 sprite.rect 设置为您希望 Sprite 碰撞所基于的矩形。通常,您可以使用 Sprite 图像的大小作为碰撞矩形。

s.image = pygame.image.load("sprite.png").convert() #load a sprite image
s.rect = b.image.get_rect() # set collision rectangle

关于python - 如何在 pygame 中创建一个矩形并将其分配给 Sprite ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14665868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com