我只想使用screenclick上的turtle方法来找到鼠标点击的坐标。目前,我有一个网格,我在上面玩奥赛罗。我已经有了将原始坐标转换为游戏可以解释的特定网格坐标的算法。我似乎无法使onscreenclick方法起作用。在docs上,它说要使用一个有两个参数的“fun”函数。我相信我有这个,但它不起作用。我是python和turtle的初学者,希望您能帮助我:)
import turtle
xclick = 0
yclick = 0
def getcoordinates():
turtle.onscreenclick(modifyglobalvariables())
def modifyglobalvariables(rawx,rawy):
global xclick
global yclick
xclick = int(rawx//1)
yclick = int(rawy//1)
print(xclick)
print(yclick)
getcoordinates()
你离得太近了!在
找零钱吗?在语法上,删除modfiyglobalvariables后面的括号。你想要的是传递函数,你要做的是传递函数的输出。
如果你运行代码,你会得到一个异常(TypeError),说你没有传递正确的参数;这是因为它实际上试图调用modifyglobalvariables。减少,你想要的是
^{pr2}$在这种情况下,每次单击鼠标时,
my_function
将被调用。此时,它可能提供了正确的参数,也可能没有提供正确的参数。你却说Python计算
my_function
,并将调用的结果绑定到鼠标单击。如果my_function
碰巧返回了一个函数,那就太好了(也许是我们想要的)。如果它返回一个整数或一个字符串,那就不好了。关键是异常,如上所述;如果函数不需要任何参数,那么检测起来可能会更微妙它实际上更容易发现你点击它的地方。代码如下:
编辑: 那不管用。。。好吧,但应该是这样的:/如果你想要一个东西,那么它就在你点击的地方,它只有一行;
onscreenclick(goto,1)
相关问题 更多 >
编程相关推荐