📜  Python Turtle – 图形键盘命令

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

Python Turtle – 图形键盘命令

Python Turtle 模块是一个图形工具,可用于使用光标在屏幕上绘制简单图形。 Python Turtle 是 Logo 编程语言的一部分,它具有类似的目的,让用户借助简单的命令在屏幕上绘制图形。 Turtle 是一个预装模块,具有内置的命令和功能,可用于在屏幕上绘制图片。本文将主要关注使用键盘命令创建图形以及如何使用相同的方法为图形添加或更改颜色。

使用的功能:

  • Screen() – 用于创建画布
  • 海龟运动:
    • 前进(距离) | fd(distance) : 向前移动海龟
    • 向后(距离) |返回(距离) | bk(distance) : 向后移动海龟
    • 右(距离) | rt(distance) : 将海龟向右移动
    • 左(距离) | lt(distance) : 将海龟向左移动
    • circle(radius) : 画一个给定半径的圆
  • 染色:
    • color() : 设置颜色
    • begin_fill() :在绘制要填充的形状之前调用此方法
    • end_fill() :填充调用 begin_fill() 后绘制的形状。

下面给出了两种处理和讨论如何创建图形键盘的方法

方法一

方法

  • 导入模块和子模块
  • 创建 setup- setup() 方法设置一个大小为 500×500 的窗口。
  • 创建窗口 - Screen() 方法创建用于绘图的画布。
  • 实例化海龟对象
  • 将海龟速度设置为 0,这是最大值
  • 设置可见性- showturtle() 方法设置海龟的可见性。
  • 为了捕获击键,我们需要定义几个函数,即上、下、左、右。默认情况下,海龟指向右侧。
    • setheading() 方法将海龟的方向更改为给定的角度。
    • forward() 方法将海龟移动到指定的距离。
    • listen() 方法将焦点设置在海龟屏幕上以捕获事件。
    • onkey() 方法调用特定于捕获的击键的方法。 onkey() 的第一个参数是要调用的函数,第二个参数是键。
    • Up、Down、Left 和 Right 是键盘上相应的箭头键。
  • 添加 mainloop() 命令,它可以防止应用程序在用户实际单击退出选项之前终止。

程序

Python3
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()


Python3
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()


输出

方法二:改变颜色

这与前面的示例类似,只是增加了几个键。现在我们添加了更改线条颜色的键。

  • 如果用户按下 r 它会变成红色,
  • 如果 g 变成绿色,如果 b 变成蓝色。
  • 要将线条颜色重置为黑色,用户必须按 z。

此外,通过使用 width() 方法将海龟的宽度设置为 5px 来增加线条的粗细。

程序

蟒蛇3

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

输出