Python中游戏的硬币收集功能

2024-03-28 14:25:08 发布

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

我目前正在为我在pyhton3.2.3和pygame中的侧滚动条游戏创建一个函数,允许主要角色收集硬币。我要做的是当我的角色的位置等于金钱的位置时,钱就消失了。这是我的代码:

def drawMoney(x,y):
offset = 0 - guy[X]
guyPos = guy[X]+640
moneyPos = x
print(guyPos,moneyPos)
if lvlNum == level1:
    money1  = screen.blit(money,(offset+x, y))
if guyPos == moneyPos or guy[Y] == y:
    y = 10000

我试图让钱消失,通过重新blitting的水平图片,但由于某些原因,这没有发生。我不知道为什么,但由于某种原因,它不起作用。一切似乎都是正确的,但我假设盖普斯永远不等于moneyPos。感谢任何帮助。在


Tags: 函数代码游戏角色ifdef硬币pygame
2条回答

通过这样做:

offset = 0 - guy[X] 
guyPos = guy[X] + offset

实际上,您将0赋给guyPos

对于这种情况,我将使用pygame中已经内置的colliderect()函数。只要检查一下,玩家是否与任何硬币发生碰撞,如果是这样的话,将硬币添加到玩家的收藏中,将相应的金额添加到变量中,然后将硬币从精灵列表中删除到blit。在

在伪代码中:

For coin in coin_list:
    Does the coin collide with the player (check by using pygame.Rect.colliderect())
        If so: add coin amount to player's coin variable and remove coin from coin_list

相关问题 更多 >