# 初始化键盘时刻 (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 则取不为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
原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/244262.html