我的程序中有两只 turtle 。它们碰撞在一起时发生了动画,但我希望一只 turtle 位于另一只 turtle 之上,如下所示:
所以,我的问题是 - 我怎样才能实现这一点 - 是否有一行简单的代码,例如:turtle.front()
,如果没有的话是什么?
最佳答案
我在对 Make one turtle object always above another 的回复中简要讨论了这一点这个简单情况的经验法则是:
last to arrive is on top
由于 Python turtle 没有优化零运动,一个简单的方法是将你想要的 turtle 移动到顶部零量:
import turtle
def tofront(t):
t.forward(0)
gold = turtle.Turtle("square")
gold.turtlesize(5)
gold.color("gold")
gold.setx(-10)
blue = turtle.Turtle("square")
blue.turtlesize(5)
blue.color("blue")
blue.setx(10)
turtle.onscreenclick(lambda x, y: tofront(gold))
turtle.done()
蓝色 turtle 与金色 turtle 重叠。点击任意位置,情况就会逆转。
尽管@Bally 的解决方案有效,但我的问题是,每次调整分层时它都会创建一只新 turtle 。这些 turtle 不会消失。观看 turtle.turtles()
的成长。即使我的解决方案在 turtle 撤消缓冲区中留下了足迹,但我必须相信它消耗的资源更少。
关于Python turtle 图形 - 将一只 turtle 带到前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38086100/