Python Turtle – 图形键盘命令
Python Turtle模块是一个图形工具,可以用光标在屏幕上绘制简单的图形。Python Turtle是Logo编程语言的一部分,它有类似的目的,即让用户在简单命令的帮助下在屏幕上绘制图形。Turtle是一个预装的模块,有内置的命令和功能,可以用来在屏幕上画图。本文将主要关注使用键盘命令创建图形,以及如何使用同样的方法来增加或改变图形的颜色。
使用到的函数:
- Screen() – 用于创建一个用于绘图的画布
- Turtle Motion:
- forward(distance) | fd(distance) : 将Turtle向前移动。
- backward(distance) | back(distance) | bk(distance) : 向后移动Turtle
- right(distance) | rt(distance) : 向右移动Turtle
- left(distance) | lt(distance) : 向左移动Turtle
- circle(radius) : 绘制一个具有给定半径的圆。
- Coloring:
- color() : 设置颜色
- begin_fill() : 这个方法在绘制要填充的形状之前被调用。
- end_fill() :填充调用begin_fill()后绘制的形状。
下面给出了两种处理和讨论如何创建图形键盘的方法
方法1
步骤
- 导入模块和子模块
- 创建setup–setup()方法设置了一个大小为500×500的窗口。
- 创建窗口–Screen()方法创建一个画布用于绘图。
- 实例化Turtle对象
- 将Turtle的速度设置为0,这是最大值
- 设置可见性- showturtle() 方法设置Turtle的可见性。
- 为了捕捉按键,我们需要定义几个函数,即上、下、左、右。默认情况下,Turtle是指向右边的。
- setheading()方法将Turtle的方向改为给定的角度。
- forward()方法将Turtle移动到指定的距离。
- listen()方法在Turtle屏幕上设置焦点以捕获事件。
- onkey()方法调用特定于捕获的按键的方法。onkey()的第一个参数是要调用的函数,第二个参数是按键。
*上、下、左、右是键盘上相应的方向键。 - 添加mainloop()命令,它可以防止应用程序在用户实际点击退出选项之前终止。
代码
import turtle
from turtle import *
setup(500, 500)
Screen()
turtle = turtle.Turtle()
turtle.speed(0)
showturtle()
def up():
turtle.setheading(90)
turtle.forward(100)
def down():
turtle.setheading(270)
turtle.forward(100)
def left():
turtle.setheading(180)
turtle.forward(100)
def right():
turtle.setheading(0)
turtle.forward(100)
listen()
onkey(up, 'Up')
onkey(down, 'Down')
onkey(left, 'Left')
onkey(right, 'Right')
mainloop()
输出
方法2:改变颜色
这与前面的例子类似,只是增加了几个键。现在我们增加了改变线条颜色的按键。
- 如果用户按r,它就会变成红色。
- 如果是g,它会变成绿色,如果是b,它会变成蓝色。
- 要把线的颜色重设为黑色,用户必须按z。
另外,通过使用width()方法将Turtle的宽度设置为5px,可以增加线条的厚度。
代码
import turtle
from turtle import *
setup(500, 500)
Screen()
turtle = turtle.Turtle()
turtle.speed(0)
turtle.width(5)
showturtle()
def up():
turtle.setheading(90)
turtle.forward(100)
def down():
turtle.setheading(270)
turtle.forward(100)
def left():
turtle.setheading(180)
turtle.forward(100)
def right():
turtle.setheading(0)
turtle.forward(100)
def r():
turtle.color("red")
def g():
turtle.color("green")
def b():
turtle.color("blue")
def z():
turtle.color("black")
listen()
onkey(up, 'Up')
onkey(down, 'Down')
onkey(left, 'Left')
onkey(right, 'Right')
onkey(z, "z")
onkey(r, 'r')
onkey(g, 'g')
onkey(b, 'b')
mainloop()
输出