Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使海龟对象看到鼠标单击的位置_Python_Turtle Graphics - Fatal编程技术网

Python 如何使海龟对象看到鼠标单击的位置

Python 如何使海龟对象看到鼠标单击的位置,python,turtle-graphics,Python,Turtle Graphics,我想写一个turtle程序,海龟可以到你点击的任何地方。到目前为止,我有: from turtle import * screen = Screen() turtle = Turtle() screen.onscreenclick(turtle.goto) 但问题是海龟的目标只是保持朝向同一个方向。我想让它朝着它要去的地方看。我如何才能做到这一点?这将符合您的描述: import turtle screen = turtle.Screen() turtle = turtle.Turtle()

我想写一个
turtle
程序,海龟可以到你点击的任何地方。到目前为止,我有:

from turtle import *
screen = Screen()
turtle = Turtle()
screen.onscreenclick(turtle.goto)

但问题是海龟的目标只是保持朝向同一个方向。我想让它朝着它要去的地方看。我如何才能做到这一点?

这将符合您的描述:

import turtle

screen = turtle.Screen()
turtle = turtle.Turtle()

def turtle_headto(x, y):
    turtle.left(turtle.towards(x, y) - turtle.heading())
    turtle.goto(x, y)

screen.onscreenclick(turtle_headto)

screen.mainloop()

但是箭头/乌龟的运动并不总是最佳的,也就是说,有时它会旋转很长一段时间,但这是需要优化的(例如,何时调用
left()
以及何时调用
right()

三角函数?使用当前位置基线和单击位置之间的参考角度。然后用三角法计算角度,然后旋转海龟。更好的建议+1目前无法测试它,但从声音上看,这将起作用。好的,我测试了它,它起作用了,然后我做了一些更改,以使我的游戏更进一步。现在它不能正常工作了
import turtle s=turtle.Screen()t=turtle.turtle()t2=turtle.turtle()t.up()t2.shape('turtle')def turtle_headto(x,y):t.left(turtle.towards)(x,y)-turtle.heading())t.goto(x,y)t2.up()t2.left(180)t2.goto(50,50)s.onscreen单击(turtle_headto)s.mainloop()
尝试更改
t.left(turtle.towards(x,y)-turtle.heading())
改为阅读
t.left(t.towards(x,y)-t.heading())
,看看这是否有帮助。如有任何其他问题,请发布新问题!