2017-03-24 33 views
-1

我使用Pygame在Python中制作游戏。我已经提出了一个条件,如果玩家角色在指定的瓦片上进行比分数增加1,但我无法完成。因为我无法获得玩家角色的位置。例如,如果player_position ==(指定的图块):比score = score + 1。请帮我解决一下这个。如何获取pygame中精灵的位置?

+1

如果您没有提供任何示例,很难给出答案。它变得太多猜测工作。尝试创建[mcve]并将其编辑到问题中。你应该可以使它工作,如果你遍历所有的瓷砖,然后检查玩家的矩形是否与瓷砖的矩形相交,使用['player.rect.colliderect(tile.rect)'](https://www.pygame .org/docs/ref/rect.html#pygame.Rect.colliderect),假设每个磁贴和播放器都有一个属性“rect”,它是[Rect对象](https://www.pygame.org/docs/ REF/rect.html)。 –

回答

0

您是否尝试过使用“碰撞”功能之一?你也可以使这个贴图成为一个精灵,并检测到碰撞。它可能不是你正在寻找的东西,但它可以工作。

这会在两个精灵参数发生冲突时返回True。 pygame.sprite.collide_rect()

+0

我试过了!但没有发生。 :(任何其他选项???我不知道如何使一个平铺一个精灵。我试图使用瓷砖的位置,但它没有工作。 – princeomkaar

+0

'pygame.sprite.collide_rect'旨在传递给'pygame .sprite.spritecollide的'collided'参数。您可以使用'pygame.sprite.spritecollide'来检查sprites之间的冲突,因为如果您省略'collided'参数,它将默认检查rect是否相交。 –