我正在尝试通过Python turtle获得鼠标位置。一切正常,除了我无法让海龟跳到鼠标单击的位置。
据我所知,代码行“turtle.onclick(turtle.goto)”应该将海龟发送到我单击鼠标的位置,但实际上并没有这样。打印行是一个测试,但它只返回我最后发送海龟的位置,即(0,650),虽然这并没有太大的意义。
我尝试查找教程和pydoc,但迄今为止我还没有成功写出来。
非常感谢您的帮助。谢谢。
编辑:我需要海龟前往单击位置(完成),但我也需要它打印坐标。
import turtle
def startmap(): #the next methods pertain to drawing the map
screen.bgcolor("#101010")
screen.title("Welcome, Commadore.")
screen.setup(1000,600,1,-1)
screen.setworldcoordinates(0,600,1000,0)
drawcontinents() #draws a bunch of stuff, works as it should but not really important to the question
turtle.pu()
turtle.onclick(turtle.goto)
print(turtle.xcor(),turtle.ycor())
screen.listen()
据我所知,代码行“turtle.onclick(turtle.goto)”应该将海龟发送到我单击鼠标的位置,但实际上并没有这样。打印行是一个测试,但它只返回我最后发送海龟的位置,即(0,650),虽然这并没有太大的意义。
我尝试查找教程和pydoc,但迄今为止我还没有成功写出来。
非常感谢您的帮助。谢谢。
编辑:我需要海龟前往单击位置(完成),但我也需要它打印坐标。
onscreenclick()
中的fun
必须是一个带有两个参数的函数。gotoandprint()
和那个lambda都带有两个参数。你是指gotoandprint
后面没有括号吗?那是因为它引用了函数对象。括号是调用对象的__call__
方法的语法。在交互式shell中编写一个函数,然后只输入函数名,不加括号,你就会明白我的意思。 - 2rs2ts