【发布时间】:2019-12-16 19:34:30
【问题描述】:
我是 Python 新手,但我决定尝试在 Pygame 中制作一款格斗游戏。 我的角色只会在强制更新时向左移动。
我试过了:
按下键
if event.key == pygame.K_d:
按键
if event.key == pygame.K_d or event.key == pygame.K_a:
x_change = 0
它在一定程度上起作用。只是需要突然改变方向,却又不能改变方向,这很烦人。
我还用 AND 更改了 OR,所以当两者都被抬起时它会停止,但这会阻止从两个方向移动。
这样做是为了让我可以在不打架的情况下移动
fighting = False
while not fighting:
for event in pygame.event.get():
if event.type == pygame.QUIT:
fighting - False
keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
x_change1 = -5
if keys[pygame.K_d]:
x_change1 = 5
if not keys[pygame.K_a] and keys[pygame.K_d]:
x_change1 = 0
x1 += x_change1
gameDisplay.fill(white)
fighter1(x1,y1)
pygame.display.update()
clock.tick(28)
仅当我强制更新(例如再次按 A(向左)抬起 A 或将鼠标移到窗口上方)时,我的家伙才向左移动 X 像素。 D(右)注册但不动。一旦按下A,即使按键向上也不会停止。
我想解决这个问题,这样我就可以更轻松地添加跳跃、攻击和玩家 2。
【问题讨论】:
标签: python pygame python-idle