我的代码存在两个问题:
我不知道如何让我的角色检查它是否与块碰撞
每次完成关卡时,如何进入新屏幕?因此,当角色到达楼梯时,应出现一个新屏幕,显示新级别
这是我的所有代码:
http://pastebin.com/u/bluesplay106
我对pygame很新,所以我的风格可能不太好,我对这个游戏进行了很难的编码。 如果你能告诉我如何解决我的问题真的很棒!!
答案 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
检查是否有敌人击中我的单位。所以在你的情况下,它将是你的英雄,而敌人将是阻挡。
以下是有关碰撞检测的文档。