【问题标题】:working sprite collision工作精灵碰撞
【发布时间】:2011-12-06 20:52:51
【问题描述】:
我的代码有两个问题:
我不知道如何让我的角色检查它是否与方块发生碰撞
我如何在她每次完成关卡时快速跳转到新屏幕?所以当角色到达楼梯时,应该会出现一个显示新关卡的新屏幕
这是我所有的代码:
http://pastebin.com/u/bluesplay106
我对 pygame 很陌生,所以我的风格可能不太好,而且我对这个游戏进行了硬编码。
如果你能告诉我如何解决我的问题,那就太好了!
【问题讨论】:
标签:
sprite
pygame
collision
【解决方案1】:
对于碰撞检测,你需要将你的角色和你的方块变成精灵并以这种方式进行碰撞检测。
至于上楼梯时的新画面,可以这样写:
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.
你的问题有点含糊,但我希望这就是你要找的:)
我刚刚意识到我没有回答你的第一个问题,这是我的一个游戏中的一个 sn-p:
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