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。它不会影响本例中的示例,但当事情未按预期工作时需要注意。