Python 使用海龟图形';s onscreenclick()事件,但需要绑定到该事件的函数的返回值
我只是一些将函数绑定到鼠标点击海龟图形屏幕上的代码:Python 使用海龟图形';s onscreenclick()事件,但需要绑定到该事件的函数的返回值,python,turtle-graphics,Python,Turtle Graphics,我只是一些将函数绑定到鼠标点击海龟图形屏幕上的代码: import turtle wn = turtle.Screen() def token_move(x,y): turtle.goto(x,y) position = [turtle.xcor(), turtle.ycor()] return position token = turtle.Turtle() wn.onscreenclick(token_move) 现在我的问题是,我想要海龟在鼠标点击后所处的坐标
import turtle
wn = turtle.Screen()
def token_move(x,y):
turtle.goto(x,y)
position = [turtle.xcor(), turtle.ycor()]
return position
token = turtle.Turtle()
wn.onscreenclick(token_move)
现在我的问题是,我想要海龟在鼠标点击后所处的坐标,这样我就可以在程序的其余部分使用它,但是因为它绑定到onscreenclick()事件,所以我无法从token\u move返回任何值。我已尝试将最后一行更改为:
position = wn.onscreenclick(token_move)
但是也没有运气。任何帮助都将不胜感激 您的
token\u move
函数可以将(x,y)坐标附加到全局列表中,程序的其他部分可以从该列表中访问坐标。也许你应该多解释一下你想让程序的其余部分做什么。同时,阅读关于使用turtle
进行事件驱动编程的教程可能会有所帮助,例如《如何像计算机科学家一样思考:使用Python 3学习》。@2Ring,感谢您的回复。我正在尝试使用python和海龟图形创建一个connect 4游戏。我想让用户点击游戏板上的哪个栏(0-6)来玩他们的游戏。我的方法是使用onscreenclick()方法来使用鼠标单击的x/y坐标来确定游戏应该属于哪一列。例如,如果0Ok。因此,您只需将绘制玩家游戏棋子的代码放入一个函数中,并在token\u move
中调用该函数。顺便说一句,没有必要执行position=[turtle.xcor(),turtle.ycor()]
,因为在调用token\u move
的参数中已经有了x&y坐标。