2017-03-24 34 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是否相交。 –