如何让角色跳过 pygame 中的障碍
How to make a character jump over an obstacle in pygame
我正在尝试让角色能够跳过障碍。当角色在障碍物中时(在障碍物的两点之间和障碍物顶部下方),我希望程序退出。但是,即使角色跳过障碍物,也会执行 pygame.quit() 。我该如何解决?
我的代码有问题。
if ((playerdino.x+55 > crator1loc) and (playerdino.x>crator1loc+40)):
if playerdino.y+70<floorSurface-55:
print('over the block')
else:
pygame.quit()
else:
pass
你判断角色是否在障碍物中的逻辑错误:
if ((playerdino.x+55 > crator1loc) and (playerdino.x>crator1loc+40)):
等于
if ((playerdino.x > crator1loc-55) and (playerdino.x>crator1loc+40)):
所以playerdino.x
总是大于crator1loc-55
。
您可以将其更改为
if ((playerdino.x > crator1loc-55) and (playerdino.x<crator1loc+40)):
此外,在您的代码中,您调用 dino.updatedino(speed, win)
就像 dino.updatedino(playerdino, -6, win)
。应该是 playerdino.updatedino(-6, win)
.
我正在尝试让角色能够跳过障碍。当角色在障碍物中时(在障碍物的两点之间和障碍物顶部下方),我希望程序退出。但是,即使角色跳过障碍物,也会执行 pygame.quit() 。我该如何解决?
我的代码有问题。
if ((playerdino.x+55 > crator1loc) and (playerdino.x>crator1loc+40)):
if playerdino.y+70<floorSurface-55:
print('over the block')
else:
pygame.quit()
else:
pass
你判断角色是否在障碍物中的逻辑错误:
if ((playerdino.x+55 > crator1loc) and (playerdino.x>crator1loc+40)):
等于
if ((playerdino.x > crator1loc-55) and (playerdino.x>crator1loc+40)):
所以playerdino.x
总是大于crator1loc-55
。
您可以将其更改为
if ((playerdino.x > crator1loc-55) and (playerdino.x<crator1loc+40)):
此外,在您的代码中,您调用 dino.updatedino(speed, win)
就像 dino.updatedino(playerdino, -6, win)
。应该是 playerdino.updatedino(-6, win)
.