turtle.listen()和screen.listen()之间的区别

时间:2017-12-09 01:28:09

标签: python turtle-graphics listen

window.listen()screen.listen()turtle.listen()之间有什么区别吗?

我看到它们在各种程序中的使用方式不同,但假设它们可以互换使用。

2 个答案:

答案 0 :(得分:1)

我建议你阅读Difference between turtle and Turtle?。简短的回答是乌龟库提供了两个API,一个基于函数的API和一个面向对象的API。 (在场景后面,功能一是在加载时在对象上面构建的。)当你混合两者时,混乱就开始了。我在链接中的答案解释了避免这样做的一种方法。

答案 1 :(得分:0)

turtlescreen 有不同的输入。

例如:

turtle.onclick()screen.onclick() 可能看起来一样,但 screen.onclick() 指的是通用窗口,而 turtle.onclick() 指的是海龟模块本身。

乌龟

调用 turtle.onclick() 时,您正在激活 (onclick) 函数,以便在用户专门单击海龟对象时调用您的参数函数。

屏幕

调用 screen.onclick() 时,您正在激活 (onclick) 函数,以便在用户单击窗口上的任意位置时调用您的参数函数。

这相当于 turtle.onscreenclick(),因为 onscreenclick() 指的是整个屏幕。因此名称screenclick 而不仅仅是指代海龟对象的click

听着

因此,由于 turtlescreen 具有单独的输入功能,因此您需要单独的监听功能。

所以

turtle.listen() 监听整个海龟模块的输入,而 screen.listen() 监听屏幕/窗口输入。