2011-12-06 142 views
0

我有两个问题,我的代码:工作精灵碰撞

  1. 我不知道如何让我的性格检查,它的与块

  2. 如何BitBlt到一个撞击每次她完成一个关卡时新的屏幕?因此,当角色到达楼梯,然后一个新的屏幕应该显示出了新的水平

这里是我的所有代码:

http://pastebin.com/u/bluesplay106

我非常新的pygame的,所以我的风格可能不是好的,我有点硬编码这个游戏。 如果你能告诉我如何解决我的问题,那将是非常棒的!

+0

您的问题将需要更加具体,如果你希望得到一个适用的答案。 – hspain

回答

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