Python乌龟鼠标不直接跟随

你如何在不使用turtle.goto(x,y)但是turtle.speed(speed)和的情况下让乌龟移动turtle.heading(angle)?我正在制作的游戏需要这个。鼠标在哪里,我想让它朝那个方向移动。但是当我改变它时,它会去那个地方然后去我的鼠标:


import turtle


screen = turtle.Screen()

screen.title("Test")

screen.bgcolor("white")

screen.setup(width=600, height=600)


ship = turtle.Turtle()

ship.speed(1)

ship.shape("triangle")

ship.penup()

ship.goto(0,0)

ship.direction = "stop"

ship.turtlesize(3)

turtle.hideturtle()

def onmove(self, fun, add=None):

        if fun is None:

            self.cv.unbind('<Motion>')

        else:

            def eventfun(event):

                fun(self.cv.canvasx(event.x) / self.xscale, -self.cv.canvasy(event.y) / self.yscale)

            self.cv.bind('<Motion>', eventfun, add)

def goto_handler(x, y):

    onmove(turtle.Screen(), None)

    ship.setheading(ship.towards(x, y)) #this is where you use the x,y cordinates and I have seat them to got to x,y and set heading

    ship.goto(x,y)

    onmove(turtle.Screen(), goto_handler)


onmove(screen, goto_handler)

如果你只setheading和speed它只是变成这样并不会移动。如果您尝试使用此代码,它会起作用 - 正是我使用ship.goto(x, y)它使它转到(x, y). 但是当您在移动时更换鼠标时,它首先会移动(x, y)到您的新鼠标位置。我几乎只想让它跟随鼠标,但我不能那样做。


翻阅古今
浏览 217回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python