【发布时间】:2014-01-29 19:29:25
【问题描述】:
我有以下代码,
如果我按“左箭头键”,它只会打印 move player to left
但是我需要一种功能,在该功能中按下给定的箭头键可以将玩家移动到给定的方向。
有没有办法在我的move_dir 函数中检测按键事件
PS:对python相当陌生
import Tkinter as tk
move = 1
pos = -1
def move_dir():
global move
global pos
while move ==1:
if pos == 0:
print 'move player to left'
elif pos == 1:
print 'move player to right'
elif pos == -1:
print 'stop moving!'
def kr(event):
global move
global pos
global root
if event.keysym == 'Right':
move = 1
pos = 0
move_dir()
print 'right ended'
elif event.keysym == 'Left':
move = 1
pos = 1
move_dir()
print 'left ended'
elif event.keysym == 'Space':
move = 0
move_dir()
elif event.keysym == 'Escape':
root.destroy()
root = tk.Tk()
print( "Press arrow key (Escape key to exit):" )
root.bind_all('<KeyRelease>', kr)
root.mainloop()
【问题讨论】:
-
我在这里提供了一个一般性的答案:stackoverflow.com/questions/21532523/…