1

我是 python 新手,并试图制作一个游戏,其中一个对象根据键盘上的箭头键向左/向右移动。我已经通过导入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
4

1 回答 1

1

由于您只提供了一段代码,我将对这个问题的 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()

如果这是正确的,那么代码在我的系统上运行良好。确保在键入之前单击弹出的图形窗口,这样您就不是在控制台上键入,而是在需要箭头键的图形窗口中键入。

此外,避免重新定义 Python 内置名称,例如object. 在这种情况下它不会影响示例,但是当事情没有按预期工作时需要注意。

于 2016-12-15T06:44:06.733 回答