使用 Turtle 在鼠标点击的相应位置画线
在本文中,我们将学习如何使用海龟模块在鼠标单击的任何位置绘制线条。
海龟图:
- turtle.listen():使用这个然后我们可以给键盘输入
- turtle.onscreenclick(func,1 or 3):该函数用于将 fun 绑定到画布上的鼠标单击事件。 1 表示左键单击,3 表示右键单击。
- pen.goto(x坐标,y坐标):将海龟从当前位置沿两个位置之间的最短直线路径移动到位置x,y(即当前位置和(x,y)之间的直线)
- pen.color(color):这个方法用来改变乌龟的颜色
- pen.shape(shape):这个方法用来给乌龟赋予形状
- head.penup:拿起笔,这样海龟在移动时就不会画线
- head.hideturtle:该方法用于使海龟不可见。在进行复杂绘图时执行此操作是个好主意,因为隐藏海龟可以明显加快绘图速度。此方法不需要任何参数。
- head.clear:该函数用于从屏幕上删除海龟的图画
- head.write:该函数用于在当前海龟位置写入文本。
方法:
- 导入海龟模块。
- 为海龟笔和头部定义两个实例。
- head 是告诉当前鼠标在哪个坐标点被点击。
- 为实例赋予形状和颜色
- 定义函数btnclick 接受两个参数 x 和 y 坐标,现在使用该函数内部的函数goto() 将海龟带到参数中传递的 x 和 y 坐标。
- 使用 onscreenclick 绑定 btnclick函数和鼠标点击屏幕。
- 使用函数侦听来执行上面指定的任务。
以下是上述方法的Python实现:
Python3
# python program
# import for turtle module
import turtle
# defining instance of turtle
pen=turtle.Turtle()
head=turtle.Turtle()
head.penup()
head.hideturtle()
head.goto(0, 260)
head.write("This is to display the coordinates of the position where mouse is clicked",
align = "center",
font = ("courier", 12, "normal"))
# giving circle shape to pen i.e. instance of turtle
pen.shape("circle")
# giving colour to turtle
pen.color("red")
# define function to make the turtle move
# to the position which is clicked by the mouse
def btnclick(x, y):
pen.goto(x, y)
head.clear()
head.write(f"x coordinate = {x}, y coordinate = {y}",
align = "center", font = ("courier", 24, "normal"))
# this function will call btnclick whenever mouse is clicked
turtle.onscreenclick(btnclick, 1)
turtle.listen()
输出: