斜线运动转直线的问题
pygame吧
全部回复
仅看楼主
level 4
我写了个方向键控制自机判定点移动的程序,目前可以做到斜向移动,但转回正上下时会静止不动
比如在先按↑再按→进行右上方的运动时,松开↑会正常向右,但是松开→却不会向上而是静止在原地。
求解答
2022年12月27日 04点12分 1
level 4
源码:
pygame.key.set_repeat(1,17)
while True:
for event in pygame.event.get():
if 网页链接 == pygame.QUIT:
pygame.quit()
exit
keys = pygame.key.get_pressed()
if 网页链接 == KEYUP:
if 网页链接 ==K_LSHIFT:
a=0
if 网页链接 == KEYDOWN:
if 网页链接 == K_LSHIFT:
a=1
if keys[K_UP]:
if a == 1:
y -= 2.5
else:
y -= 4.5
elif keys[K_DOWN]:
if a == 1:
y += 2.5
else:
y += 4.5
if keys[K_LEFT]:
if a == 1:
x -= 2.5
else:
x -= 4.5
elif keys[K_RIGHT]:
if a == 1:
x += 2.5
else:
x += 4.5
2022年12月27日 07点12分 2
level 4
更诡异的是静止之后按住原来第一个键的同时按对称方向的键会执行先if的那个动作
2022年12月28日 02点12分 3
pygame没更新?做了样例程序 测试之后按相反键取得是后按下的 斜走转直走功能也正常 不清楚你哪里有问题
2023年01月18日 15点01分
@染塵CL 刚看了一眼是pygame1.9(捂脸) 等一下我马上换pygame2(感谢)
2023年02月12日 06点02分
@染塵CL 可能是因为pg1用的是迭代器不是列表
2023年02月12日 06点02分
1