用Turtle在鼠标点击的相应位置上画线
在这篇文章中,我们将学习如何使用Turtle模块在鼠标点击的任何位置画线。
Turtle 图形:
- turtle.listen():使用这个,我们就可以给键盘输入
- turtle.onscreenclick(func,1 or 3):这个函数用于将func与画布上的鼠标点击事件绑定。1表示左击,3表示右击。
- pen.goto(x coordinate , y coordinate):将Turtle从当前位置沿着两地之间最短的直线路径(即当前位置与(x,y)之间的直线)移动到位置x,y。
- pen.color( color ):该方法用于改变Turtle的颜色。
- pen.shape(shape):这个方法用来给Turtle的形状。
- head.penup:把笔拿起来,这样Turtle在移动时就不会画出一条线。
- head.hideturtle:这个方法是用来使Turtle隐身的。当你正在进行复杂的绘图时,这样做是个好主意,因为隐藏Turtle会明显加快绘图的速度。这个方法不需要任何参数。
- head.clear: 这个函数用来从屏幕上删除Turtle的图画。
- head.write:这个函数用来在当前的Turtle位置写文字。
步骤:
- import Turtle module
- 为Turtle的笔和头定义两个实例。
- 头部是为了告诉当前鼠标在哪个坐标上被点击。
- 赋予实例以形状和颜色
- 定义函数btnclick,它需要两个参数x和y坐标,现在在这个函数中使用函数goto()来把Turtle带到参数中传递的x和y坐标。
- 使用onscreenclick将btnclick功能与鼠标在屏幕上的点击结合起来。
- 使用函数监听器来执行上述指定的任务。
以下是上述方法的Python实现:
# 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()
输出: