工作精灵碰撞

时间:2011-12-06 20:52:51

标签: sprite pygame collision

我的代码存在两个问题:

  1. 我不知道如何让我的角色检查它是否与块碰撞

  2. 每次完成关卡时,如何进入新屏幕?因此,当角色到达楼梯时,应出现一个新屏幕,显示新级别

  3. 这是我的所有代码:

    http://pastebin.com/u/bluesplay106

    我对pygame很新,所以我的风格可能不太好,我对这个游戏进行了很难的编码。 如果你能告诉我如何解决我的问题真的很棒!!

1 个答案:

答案 0 :(得分:0)

对于碰撞检测,您需要将角色和块变成精灵并以此方式进行碰撞检测。

对于上楼梯时的新屏幕,您可以使用如下语句:

if heroSprite_x >= 200 and heroSprite_x <= 300:
    if heroSprite_y >= 300 and heroSprite_y <= 400:

        #go to new screen using either a new level from a list or a new class or whatever method you want.

你的问题有点模糊,但我希望你能找到的是:)

我刚刚意识到我没有回答你的第一个问题,这是我的一个游戏的片段:

unit_enemy = pygame.sprite.groupcollide(unitgroup, enemygroup, True, pygame.sprite.collide_mask) 

for hit in unit_enemy:
    #do something

检查是否有敌人击中我的单位。所以在你的情况下,它将是你的英雄,而敌人将是阻挡。

以下是有关碰撞检测的文档。

http://pygame.org/docs/ref/sprite.html

相关问题