# 初始化键盘时刻 (ticks) 
ticks_K_a = 0
ticks_K_d = 0
# 初始化横向移动系数 [1,-1]
sign_direction_horizonal = 0
 
# 主事件循环
while True:
# 检测键盘按住的键位 累加键盘时刻
    list_key_pressed = pygame.key.get_pressed()
    if list_key_pressed[pygame.K_a]:
        ticks_K_a += 1
    else:
        ticks_K_a = 0
    if list_key_pressed[pygame.K_d]:
        ticks_K_d += 1
    else:
        ticks_K_d = 0

    # 当a和d的键盘时刻都不为0时 取两键盘时刻的较小者 作为有效按键 修改横向速度方向系数
    if ticks_K_a != 0 and ticks_K_d != 0:
        if ticks_K_a <= ticks_K_d:
            sign_direction_horizonal = -1
        else:
            sign_direction_horizonal = 1

    # 当a或d两个键中只有一个键的键盘时刻为0时 则取不为0者作为有效按键
    # 修改横向速度方向系数
    if ticks_K_a > ticks_K_d and ticks_K_d == 0:
        sign_direction_horizonal = -1
    if ticks_K_a < ticks_K_d and ticks_K_a == 0:
        sign_direction_horizonal = 1

    # 当两个键的键盘时刻都为0时 修改横向速度方向系数为0
    if ticks_K_a == 0 and ticks_K_d == 0:
        sign_direction_horizonal = 0