用于Python游戏的硬币收集功能

时间:2014-06-16 22:37:28

标签: python function pygame side-scroller

我目前正在为pyhton 3.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

我试图通过重新调整水平图片来赚钱,但由于某种原因,这种情况不会发生。我不知道为什么但由于某种原因它不起作用。一切似乎都是正确的,但我假设guyPos永远不会等于moneyPos。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

通过做:

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

您实际上将零分配给guyPos

答案 1 :(得分:0)

对于这样的事情,我使用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