📜  使用 Turtle 在鼠标点击的相应位置画线

📅  最后修改于: 2022-05-13 01:55:13.653000             🧑  作者: Mango

使用 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()


输出: