1

我让屏幕有一个画布,里面有一些图画。我还制作了一个制作乌龟并移动它的函数。问题是当海龟被创建时,它也创建了一个新的海龟在其中移动的窗口。我不想要第二个窗口。有没有办法移动乌龟并使其出现在画布上而不创建第二个窗口?

这是功能:

def Mueve_Carro(type):

    color = StringVar

    if tipoCarro == 1:
        type = "blue"
    elif tipoCarro == 2:
        type = "orange"
    elif tipoCarro == 3:
        type = "brown"

    ball = Turtle()
    ball.penup()
    ball.shape("circle")
    ball.shapesize(1,1,1)
    ball.color(type)
    ball.goto(-60,22)
4

1 回答 1

2

您正在使用的Turtle()类将始终自动创建一个新画布。您必须使用RawTurtle(canvas)where 该canvas变量是您在此函数之外创建的屏幕(因此您还需要将其作为参数传递)

所以基本上

def Mueve_Carro(type, canvas):

    #...

    ball = RawTurtle(canvas)

    #...

尽管名称可能暗示了什么,但除了画布的创建之外,RawTurtle没有其他区别。Turtle

于 2013-05-27T00:02:29.090 回答