您可以使用箭头键调用函数吗?
Can you call functions using the arrow keys?
我正在尝试制作一款高尔夫游戏,在该游戏中,当用户按下向左或向右箭头时,实际的箭头将指向您建议的位置。然后球将通过按下 space 杆释放并滚开,希望在高尔夫球洞中被捕获。但这并不是困扰我的问题,这是第一部分;箭头的瞄准。
我已经制作了 10 个指向不同方向的不同功能,但问题是用户交互。我需要使箭头(功能)通过箭头键移动。我将这些函数命名为:
one_one
one_two
one_three
等等。我如何调用它们并删除最后一个,但更重要的是,如何使该过程重复进行?
提前致谢!
P.S 我正在使用 Python-3 和 VS 代码。
你不需要循环; keyboard
模块使用事件触发激活而不是轮询。
import keyboard
def on_left_arrow(e):
print('Hello World')
keyboard.on_press_key("left", on_left_arrow)
对于你问题的第二部分,你可以把方向写在 'queue';
directions = ['N', 'E', 'W', 'S']
def on_left_arrow(e):
# pop the first item out of the list
current = direction.pop(0)
# move it to the end
directions = directions.append(current)
print(current)
def on_right_arrow(e):
# pop the last item
current = direction.pop()
# move it to the beginning
directions = directions.insert(0, current)
print(current)
请注意 keyboard
库需要 sudo
。
我正在尝试制作一款高尔夫游戏,在该游戏中,当用户按下向左或向右箭头时,实际的箭头将指向您建议的位置。然后球将通过按下 space 杆释放并滚开,希望在高尔夫球洞中被捕获。但这并不是困扰我的问题,这是第一部分;箭头的瞄准。 我已经制作了 10 个指向不同方向的不同功能,但问题是用户交互。我需要使箭头(功能)通过箭头键移动。我将这些函数命名为:
one_one
one_two
one_three
等等。我如何调用它们并删除最后一个,但更重要的是,如何使该过程重复进行? 提前致谢! P.S 我正在使用 Python-3 和 VS 代码。
你不需要循环; keyboard
模块使用事件触发激活而不是轮询。
import keyboard
def on_left_arrow(e):
print('Hello World')
keyboard.on_press_key("left", on_left_arrow)
对于你问题的第二部分,你可以把方向写在 'queue';
directions = ['N', 'E', 'W', 'S']
def on_left_arrow(e):
# pop the first item out of the list
current = direction.pop(0)
# move it to the end
directions = directions.append(current)
print(current)
def on_right_arrow(e):
# pop the last item
current = direction.pop()
# move it to the beginning
directions = directions.insert(0, current)
print(current)
请注意 keyboard
库需要 sudo
。