在 Python 中检测 Turtle 模块中的按键

Detecting Keypresses in the Turtle module in Python

我想要它,所以我的向上键可以移动乌龟,我的 S 键可以清洁屏幕。此外,向上键命令有效:

import turtle
from turtle import Turtle, Screen

screen = Screen()

jack = Turtle("turtle")
jack.color("red", "green")
jack.pensize(10)
jack.speed(0)

def clean(x,y):
    jack.clear()
def move():
    jack.forward(100)

turtle.listen()
turtle.onkey(clean,"S")
turtle.onkey(move,"Up")

screen.mainloop()

@jasonharper 关于大写问题 (+1) 是正确的,但是当您以两种不同的方式导入 turtle 时,这段代码显然还有其他问题。 IE。您将 turtle 的 面向对象 API 与其 功能性 API 混合在一起。让我们重写代码以仅使用面向对象的 API:

from turtle import Screen, Turtle

def move():
    turtle.forward(100)

screen = Screen()

turtle = Turtle('turtle')
turtle.color('red', 'green')
turtle.pensize(10)
turtle.speed('fastest')

screen.onkey(turtle.clear, 's')
screen.onkey(move, 'Up')
screen.listen()

screen.mainloop()

我更改了变量名以明确哪些方法是 screen 实例方法,哪些是 turtle 实例方法。您的双重导入掩盖了这一点。