海龟创造了一个额外的屏幕(不需要的)

时间:2013-05-26 23:40:49

标签: python turtle-graphics

我制作的画面有一个画布,里面有一些画。我还制作了一个制作乌龟并移动它的功能。问题是当乌龟被创建时,它还会创建一个乌龟移动的新窗口。我不想要第二个窗口。有没有办法移动乌龟并让它出现在画布上而不创建第二个窗口?

这是功能:

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)

1 个答案:

答案 0 :(得分:2)

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

所以基本上

def Mueve_Carro(type, canvas):

    #...

    ball = RawTurtle(canvas)

    #...

尽管名称可能暗示,除了画布的创建之外,RawTurtleTurtle之间没有其他差异。