当使用pygame与另一个矩形精灵碰撞时,如何使矩形精灵停止?

时间:2014-04-01 23:53:17

标签: python pygame sprite

我正试图在我的程序中为玩家制造一些障碍。我无法弄清楚如何使精灵从四面八方接触它时停止。

我尝试使用pygame.sprite.collide_rectpygame.sprite.spritecollide,但无法弄清楚如何操作。

如果您可以尝试解释这个概念,我宁愿尝试自己解决问题。提前谢谢!

1 个答案:

答案 0 :(得分:1)

def move_rect():
    new_pos = player_rect.pos
    new_pos = new_pos[0]+dx,new_pos[1]+dy
    new_rect = rect(new_pos,player_rect.size)
    for enemy in enemy_rects:
        if new_rect.colliderect(enemy):
           dx,dy=dx*-1,dy*-1 #reverse direction to "bounce"
           #alternatively you could just return here probably

    player_rect.move(dx,dy) #do the move, no collisions

至少类似的东西......(我怀疑它会起作用,更多的是给你这个概念)