我正试图在我的程序中为玩家制造一些障碍。我无法弄清楚如何使精灵从四面八方接触它时停止。
我尝试使用pygame.sprite.collide_rect
和pygame.sprite.spritecollide
,但无法弄清楚如何操作。
如果您可以尝试解释这个概念,我宁愿尝试自己解决问题。提前谢谢!
答案 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
至少类似的东西......(我怀疑它会起作用,更多的是给你这个概念)