pygame吧 关注:726贴子:1,968
  • 5回复贴,共1
求助

斜线运动转直线的问题

只看楼主收藏回复

我写了个方向键控制自机判定点移动的程序,目前可以做到斜向移动,但转回正上下时会静止不动
比如在先按↑再按→进行右上方的运动时,松开↑会正常向右,但是松开→却不会向上而是静止在原地。
求解答


IP属地:北京来自Android客户端1楼2022-12-27 12:21回复
    源码:
    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


    IP属地:北京来自Android客户端2楼2022-12-27 15:41
    回复
      更诡异的是静止之后按住原来第一个键的同时按对称方向的键会执行先if的那个动作


      IP属地:北京来自Android客户端3楼2022-12-28 10:00
      收起回复