文章目录:
必备知识:https://liuxinlei.blog.csdn.net/article/details/132608904
手册:turtle --- 海龟绘图 --- Python 3.13.0a5 文档 :Turtle 方法
一:导入包(常用的)
|---------------|-----|---------------------------------------------------------------------------------------|
| import turtle | 画图  |                                                                                       |
| import time   | 时间  | time.sleep(10)                                                                        |
| import random | 随机数 | random.random() #0到1之间的小数 random.random(a,b) #从a到b,不包括b random.randint(a,b) #从a到b,包括b |
| import pygame | 游戏  | pygane.init()初始化                                                                      |
二:布局
1.设置世界坐标系
|------------------------------------------------------------------------------------------------------------------------------------|----------|---|
| setworldcoordinates() | 用户自定义坐标系 |   |
2.窗体
|------------------------------------------------------------------------------------------------------------------|---------------------------------|---|
| window_height() | 窗口高度                            |   |
| window_width()    | 窗口宽度                            |   |
| turtle.setup(width,height,startx,starty)                                                                                                          ||   |
| width w                                                                                                          | 窗口宽度 整数表示像素值,小数表示窗口宽度与屏幕的比例     |   |
| height h                                                                                                         | 窗口高度 整数表示像素值,小数表示窗口高度与屏幕的比例     |   |
| startx                                                                                                           | 窗口左侧与屏幕左侧的像素距离 None表示窗口位于屏幕水平中央 |   |
| starty                                                                                                           | 窗口顶部与屏幕顶部的像素距离 None表示窗口位于屏幕垂直中央 |   |
3.画布屏幕screen
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------|---|
| getcanvas()                                                                                                            | 获取画布             |   |
| screensize() turtle.screensize(800, 600, "green") turtle.screensize() #返回默认大小(400, 300) screen.setup(1200,600)改变画布大小 | 屏幕大小             |   |
| bgcolor()                                                                                                                  | 背景颜色             |   |
| bgpic() screen.bgpic("背景图片.gif")                                                                                               | 设置背景图片           |   |
| screen.register_shape("乌龟.gif") t=turtle() t.shape("乌龟.gif")                                                                                                                                                    | 导入图片             |   |
| screen.update()                                                                                                                                                                                                 | 更新屏幕             |   |
| getscreen()                                                                                                            | 获取屏幕             |   |
| clearscreen()                                                                                                      | 删除所有海龟的全部绘图      |   |
| resetscreen()                                                                                                      | 重置屏幕上的所有海龟为其初始状态 |   |
| bye()                                                                                                                              | 退出               |   |
| exitonclick()                                                                                                      | 当点击时退出           |   |
| setup()                                                                                                                        | 设置               |   |
| title()                                                                                                                        | 标题               |   |
三:线条画笔海龟
1.运动
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
| 抬笔落笔        | penup() | pu() | up() turtle.penup()                                           | penup:抬笔(起飞) up pu                            |
| 抬笔落笔        | pendown() | pd() | down() turtle.pendown()                             | pendown:落笔(降落) down pd                        |
| 精准定位        | goto() | setpos() | setposition() turtle.goto(200,100) | 会画一条线段                                        |
| 绝对位置        | teleport()                                                                                                                                                                                                                       | 不会画一条线段                                       |
| 设置小海龟头的朝向角度 | setheading() | seth() turtle.setheading(45)                                                                                                  | 逆时针0------>90------>180------>270------>0 |
| 行走 转弯       | forward() | fd() turtle.forward(100)                                                                                                                   | 前进多少像素                                        |
| 行走 转弯       | backward() | bk() | back() turtle.backward(100)                      | 向后多少像素                                        |
| 行走 转弯       | left() | lt() turtle.left(100)                                                                                                                               | 向左转                                           |
| 行走 转弯       | right() | rt() turtle.right(100)                                                                                                                           | 向右转                                           |
| 更改画笔画画的速度   | speed() turtle.speed(2)                                                                                                                                                                                                                | 速度0~10                                       |
| 返回原点        | home()                                                                                                                                                                                                                                   | 就是中心                                          |
2.样式
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------|
| 画笔       | pen()                                                                                                                             | 画笔                                                             |
| 画笔       | isdown()                                                                                                                    | 画笔是否落下                                                         |
| 鼠标线条皮肤切换 | turtle.shape("turtle")                                                                                                                                                                                         | 鼠标箭头形状变成乌龟 还支持的皮肤有:circle triangle square arrow向下的箭头 classic经典 |
| 海龟显示与隐藏  | hideturtle() | ht() turtle.hideturtle() | 隐藏海龟画笔                                                         |
| 海龟显示与隐藏  | showturtle() | st() turtle.showturtle() | 显示海龟画笔                                                         |
| 海龟显示与隐藏  | isvisible()                                                                                                           | 是否可见                                                           |
| 线条变粗宽度   | pensize() | width() turtle.pensize(10)  |                                                                |
| 线条更换颜色   | turtle.color("red")                                                                                                                                                                                            |                                                                |
| 线条更换颜色   | turtle.color("red","green")                                                                                                                                                                                    | 画笔色在前(线条),填充色在后(海龟的颜色)                                         |
| 更改画笔的大小  | turtle.shapesize(10)                                                                                                                                                                                           |                                                                |
| 角度       | degrees()                                                                                                                 |                                                                |
| 弧度       | radians()                                                                                                                 |                                                                |
| 坐标       | xcor() ycor()                                    | 显示                                                             |
| 坐标       | setx() sety()                                    | 设置                                                             |
| 位置       | position() | pos()                        |                                                                |
| 目标方向     | towards()                                                                                                                 |                                                                |
| 朝向       | heading()                                                                                                                 |                                                                |
| 距离       | distance()                                                                                                              |                                                                |
3.外观
|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| 形状      | shape()                                                                                                                        |   |
| 大小调整模式  | resizemode()                                                                                                         |   |
| 形状大小    | shapesize() | turtlesize() |   |
| 剪切因子    | shearfactor()                                                                                                      |   |
| 倾角      | tiltangle()                                                                                                            |   |
| 倾斜      | tilt()                                                                                                                           |   |
| 变形      | shapetransform()                                                                                             |   |
| 获取形状多边形 | get_shapepoly()                                                                                                |   |
4.其他
|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------|
| 所有海龟   | turtles()                                                                                                      |                            |
| 撤销上一步  | undo() urtle.undo()                                                                                                  |                            |
| 清空窗口   | clear() turtle.clear()                                                                                             | 清空turtle窗口,turtle的位置和状态不改变 |
| 清空窗口   | reset() turtle.reset()                                                                                             | 重置turtle状态为初始状态            |
| 记录     | begin_poly()                                                                                             | 开始记录多边形                    |
| 记录     | end_poly()                                                                                                   | 结束记录多边形                    |
| 获取多边形  | get_poly()                                                                                                   |                            |
| 克隆     | clone()                                                                                                            |                            |
| 获取海龟画笔 | getturtle() | getpen() |                            |
| 缓冲区    | setundobuffer()                                                                                    | 设置撤消缓冲区                    |
| 缓冲区    | undobufferentries()                                                                        | 撤消缓冲区条目数                   |
四:颜色
|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|
| 颜色     | color()                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                 |
| 画笔颜色   | pencolor()                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                 |
| 换背景颜色  | bgcolor() turtle.bgcolor("black")                                                                                                                                                                                                                                                                                                                                                                                                                         |                                 |
| 更换线条颜色 | turtle.color("red")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                 |
| 更换线条颜色 | turtle.color("red","green")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 画笔色在前(线条),填充色在后(海龟的颜色)          |
| 填充颜色   | fillcolor()填充颜色 filling() 是否填充 begin_fill() 开始填充 end_fill() 结束填充 turtle.color("red") #1.选定颜色 turtle.begin_fill() #2.开始填充 turtle.circle(175) #3.画封闭图形 turtle.end_fill() #4.结束填充 | 基本步骤                            |
| 填充颜色   | turtle.color()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 三原色(rgb) 0~1小数 0~1分数 0~255整数 |
五:文字
|---------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|
| 书写 write() | turtle.write("刘鑫磊",align="center",font=("Vivaldi",30,"normal")) 书写内容 对齐方式 字体 字号 样式                   |
| 书写 write() | align:center、left、right 字体:Arial、Forte、宋体、黑体... 样式:normal正常、italic斜体、bold黑体                          |
| 文本输入                                                                                        | textinput() |
| 数字输入                                                                                        | numinput()    |
六:图形
|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|
| 获取形状   | getshapes()                                                                                                                     |                       |
| 添加形状   | register_shape() | addshape() |                       |
| 复制当前图形 | stamp()                                                                                                                                                                                                                  |                       |
| 画圆     | circle()                                                                                                                              |                       |
| 画点     | dot()                                                                                                                                       |                       |
| 印章     | stamp()                                                                                                                                 | 印章                    |
| 印章     | clearstamp()                                                                                                                  | 清除印章                  |
| 印章     | clearstamps()                                                                                                               | 清除多个印章                |
| 画圆     | turtle.circle(200)                                                                                                                                                                                                       | 画圆(默认逆时针,参数是半径)       |
| 画圆     | turtle.circle(200,90)                                                                                                                                                                                                    | 画圆(半径,弧度)             |
| 画圆     | turtle.circle(200,90,3)                                                                                                                                                                                                  | 画圆(半径,弧度,对应边数的内切正多边形) |
七:事件
1.鼠标事件
|-------|------------------------------------------------------------------------------------------------------|---|
| 当鼠标点击 | onclick()       |   |
| 当鼠标释放 | onrelease() |   |
| 当鼠标拖动 | ondrag()          |   |
2.键盘事件
|--------|------------------------------------------------------------------------------------------------------------------------------------|---|
| 键盘按下   | onkey() screen.onkey(函数,'需要监听的键') screen.listen() |   |
| 键盘松开   | onkeypress()                            |   |
| 键盘按下松开 | onkeyrelease()                      |   |
3.屏幕事件
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| 监听    | listen()                                                                                                                        |   |
| 当点击屏幕 | onclick() | onscreenclick() |   |
| 当达到定时 | ontimer()                                                                                                                     |   |
| 主循环   | mainloop() | done()                         |   |
八:动态
|----|---------------------------------------------------------------------------------------------|---|
| 延迟 | delay()    |   |
| 追踪 | tracer() |   |
| 更新 | update() |   |