window.listen()
,screen.listen()
和turtle.listen()
之间有什么区别吗?
我看到它们在各种程序中的使用方式不同,但假设它们可以互换使用。
答案 0 :(得分:1)
我建议你阅读Difference between turtle and Turtle?。简短的回答是乌龟库提供了两个API,一个基于函数的API和一个面向对象的API。 (在场景后面,功能一是在加载时在对象上面构建的。)当你混合两者时,混乱就开始了。我在链接中的答案解释了避免这样做的一种方法。
答案 1 :(得分:0)
turtle
和 screen
有不同的输入。turtle.onclick()
和 screen.onclick()
可能看起来一样,但 screen.onclick()
指的是通用窗口,而 turtle.onclick()
指的是海龟模块本身。
调用 turtle.onclick()
时,您正在激活 (onclick
) 函数,以便在用户专门单击海龟对象时调用您的参数函数。
调用 screen.onclick()
时,您正在激活 (onclick
) 函数,以便在用户单击窗口上的任意位置时调用您的参数函数。
这相当于 turtle.onscreenclick()
,因为 onscreenclick()
指的是整个屏幕。因此名称screenclick
而不仅仅是指代海龟对象的click
。
因此,由于 turtle
和 screen
具有单独的输入功能,因此您需要单独的监听功能。
turtle.listen()
监听整个海龟模块的输入,而 screen.listen()
监听屏幕/窗口输入。