python图形win.getKey()函数?
python graphics win.getKey() function?
我是 python 的新手,正在尝试制作一个对象根据键盘上的箭头键移动 left/right 的游戏。我已经看到通过导入 turtle、curse 等来执行此操作的不同方法,但我如何仅使用 win.getKey()
来执行此操作?
到目前为止我有这个,但它不起作用:
while True:
k = win.checkKey()
if k == 'Left':
object.move(-dx, dy)
elif k == 'Right':
object.move(dx, dy)
elif k == 'period':
break
由于您只提供了一段代码,我将对这个问题的 MCVE 可能是什么样子进行一些猜测:
from graphics import *
win = GraphWin("My Test", 100, 100)
my_object = Circle(Point(50, 50), 10)
my_object.draw(win)
dx, dy = 10, 0
while True:
k = win.checkKey()
if k == 'Left':
my_object.move(-dx, dy)
elif k == 'Right':
my_object.move(dx, dy)
elif k == 'period':
break
win.close()
如果这是正确的,那么代码在我的系统上运行良好。确保在输入前单击弹出的图形 window,这样您就不会在控制台输入,而是输入需要箭头键的图形 window。
此外,避免重新定义 Python 内置名称,例如 object
。它不会影响本例中的示例,但当事情未按预期工作时需要注意。
我是 python 的新手,正在尝试制作一个对象根据键盘上的箭头键移动 left/right 的游戏。我已经看到通过导入 turtle、curse 等来执行此操作的不同方法,但我如何仅使用 win.getKey()
来执行此操作?
到目前为止我有这个,但它不起作用:
while True:
k = win.checkKey()
if k == 'Left':
object.move(-dx, dy)
elif k == 'Right':
object.move(dx, dy)
elif k == 'period':
break
由于您只提供了一段代码,我将对这个问题的 MCVE 可能是什么样子进行一些猜测:
from graphics import *
win = GraphWin("My Test", 100, 100)
my_object = Circle(Point(50, 50), 10)
my_object.draw(win)
dx, dy = 10, 0
while True:
k = win.checkKey()
if k == 'Left':
my_object.move(-dx, dy)
elif k == 'Right':
my_object.move(dx, dy)
elif k == 'period':
break
win.close()
如果这是正确的,那么代码在我的系统上运行良好。确保在输入前单击弹出的图形 window,这样您就不会在控制台输入,而是输入需要箭头键的图形 window。
此外,避免重新定义 Python 内置名称,例如 object
。它不会影响本例中的示例,但当事情未按预期工作时需要注意。