赞
踩
项目目标:
本项目旨在学习如何自制emoji,学习内容主要分为3个方面,分3次来讲,根本在于了解了turtle的使用!
1.完成一个爱心应援牌
2.完成静态的emoji
3.让emoji动起来!
今天我们来学习第一个部分。
turtle
,中文名小海龟,是一种Logo
编程语言。
可以用它来实现绘图,制作简单游戏等功能。
可以用两种方式来导入turtle。
1️⃣方法1:
import turtle
:直接导入turtle模块。
在使用过程中,如果需要使用turtle模块中的函数,方法是:
turtle.pensize(),turtle.pencolor()
2️⃣方法2:
from turtle import *
:从turtle模块中导入所有的函数
这样就可以直接使用turtle模块中的函数,例如:
pensize(),pencolor()
好了,废话不多说,直接上代码:
下面这部分代码是利用turtle()的各种函数绘制了一个心形应援牌。
# 从turtle中导入所有函数 from turtle import * # 绘制心形 # 使用pensize()函数将画笔粗细设置为5 pensize(5) # 使用pencolor()函数设置颜色 # 画笔颜色为"red" pencolor("red") # 使用fillcolor()函数设置填充颜色 # 填充颜色为"pink" fillcolor("pink") # 使用begin_fill()函数准备开始填充图形 begin_fill() # 使用left()函数向左转135度 left(135) # 使用forward()函数向前进100步 forward(100) # 使用right()函数右转180度 right(180) # 使用circle()函数画半圆,半径为50,角度-180度 circle(50,-180) # 使用left()函数向左转90度 left(90) # 使用circle()函数画半圆,半径为50,角度-180度 circle(50,-180) # 使用right()函数右转180度 right(180) # 使用forward()函数向前进100步 forward(100) # 使用end_fill()函数填充完成 end_fill() # 填充文字 # 使用penup()函数抬起画笔 penup() # 使用pencolor()函数设置画笔颜色为黑色 pencolor("black") # 使用goto()函数将画笔移动到坐标(0,80)的位置 goto(0,80) # 使用hideturtle()函数隐藏画笔 hideturtle() # 设定write()函数输入内容为"LOVE YOU",居中对齐,字体为"Arial"和大小为20粗细为"bold" write("LOVE YOU",align = "center",font=("Arial",20,"bold")) # 防止程序一闪而过,导致无法看清所画 done()
绘制效果如下:
我们将绘制爱心应援牌的步骤分解为几个部分。
接下来我们完成左边线的绘制。
一个函数,作用是设置画笔粗细
。
设置的参数表示画笔的粗细程度。
例如:pensize(5)表示将画笔粗度设置为5
一个函数,作用是设置画笔颜色
。
例如:pencolor(“red”),画笔颜色为红色。
颜色设置
pencolor()的颜色设置很灵活,参数可以用三种模式填写,比如:
RGB颜色值
:(255,192,203)
16进制颜色码
:#FFC0CB
英文代码
:“pink”
它们呈现的结果都是粉色,其他色彩设置可以参考网站: 颜色设置参考网站
一个函数,作用是将画笔方向向左转
。
设置的参数表示小海龟(画笔)向左转的角度。
例如:left(135)表示向左转135度。
相信细心的你已经发现了,小海龟的初始朝向是水平向右的!
一个函数,作用是向画笔方向前进
。
设置的参数表示前进的步数。
例如:forward(100)表示向海龟头的方向前进100步
接下来我们完成左半圆的绘制。
一个函数,作用是将画笔方向向右转
。
设置的参数表示向右转的角度。
例如:right(180)表示向右转180度。
注意:小海龟的转动是以当前头的朝向为参考点的,即可认为头的朝向永远是0度(尽管在坐标系中实际不是这样的)。
一个函数,作用是画圆
。
circle(radius,extent=None,steps=None)
例如:circle(50,-180)表示绘制一个半径为50,圆心角为-180的半圆。
接下来我们完成右半圆的绘制。
绘制右半圆
我们可以用同样的方法来绘制右半圆。
此时我们需要将乌龟的头向左旋转90度,半径设置为50,顺时针画半圆(180度)。
其实这些角度都是可以自己计算出来的,自己想要绘制什么样的图形,那么你就要去设计相应的参数是什么!
和绘制左边线一样,接下来我们完成右边线的绘制。
fillcolor()可以设置填充颜色
例如:fillcolor(“pink”)是指将填充颜色设置为粉色。
设置颜色填充的起点
设置颜色填充的终点
接下来我们完成最后一个步骤:填充表白文字。
填写文字的步骤是:
1.设置画笔颜色
2.将画笔移动到爱心的中心位置
3.写下表白的话
一个函数,作用是移动到指定坐标位置
。
goto(x,y)参数需要填写移动到的具体坐标位置。
例如goto(0,80)就是移动到x=0,y=80的位置
一个函数,作用是填写文字
。
write()函数有4个参数,只有参数1是必选的,其他的参数你可以根据自己的需求设置。
write(arg,move,align,font)
例如:write(“LOVE YOU”,align = “center”,font=(“Arial”,20,“bold”))
表示:书写的内容是"LOVE YOU “,文字内容居中,字体为"Arial”,字体大小20,粗细为"bold"粗。
抬起和隐藏画笔
指示牌完成后发现画笔一直连到了文字的位置,并且画笔的光标一直闪烁。
我们希望移动画笔时,画笔可以抬起,书写完文字后画笔能够隐藏起来。
一个函数,作用是抬起画笔
。
一个函数,作用是隐藏海龟画笔
。
turtle中最为复杂的就是circle函数啦,不过画圆,画弧形都离不开它,你可以参考介绍,多多运用。
circle(radius,extent=None,steps=None)
1️⃣参数1:radius表示半径。
当radius值为正数时,圆心在当前位置左侧。
当radius值为负数时,圆心在当前位置右侧。
2️⃣参数2:extent设置弧形角度(可省略)。
当extent值为正数时,顺小海龟当前方向绘制。
当extent值为负数时,逆小海龟当前方向绘制。
3️⃣参数3:steps表示起点到终点由几条线组成。(可省略)
使用 turtle 库的 right() 函数和 circle() 函数绘制一个四叶草,效果如下图所示:
你需要完成:
1.从初始位置 (0,0) 开始绘制,并设置画笔粗细为5
2.绘制四叶草,注意:每片叶子为半径50,圆心角180的圆
# 利用from.....import....导入turtle模块所有函数 from turtle import * # 从初始位置(0,0)开始绘制,并设置画笔粗细为5 goto(0,0) pensize(5) # 创建循环绘制四叶草 for i in range(4): # 画笔方向右转90度 right(90) # 画一个半径为50,圆心角为180度的圆 circle(50,180)
闪闪红星照我心
2021年是中国共产党建党一百周年,正是因为有了革命先烈的英勇无畏,才有了祖国今天的繁荣昌盛
闪闪红星照耀在每个人心中,快来尝试一下用刚学到的知识来绘制一颗闪闪的红星吧!
你需要做到:
1.设置画笔粗细为5,画笔颜色为yellow,填充颜色为red
2.从初始位置(-90,0)开始绘制
3.创建for循环,在每次循环中:前进200距离,然后向右旋转144度
绘制完成后的效果图如下:
# 利用from.....import....导入turtle模块所有函数 from turtle import * # 设置画笔粗细为5,画笔颜色为yellow,填充颜色为red,初始位置为(-90,0) pensize(5) pencolor("yellow") fillcolor("red") goto(-90,0) # 开始填充 begin_fill() # 创建for循环,开始绘制闪闪红星 for num in range(4): # 前进200距离 forward(200) # 画笔向右旋转144度 right(144) # 完成填充 end_fill()
东京奥运会的余温刚刚散去,大家是否还记得代表奥林匹克的奥运五环呢?
奥运五环代表着世界五大洲之团结,学完turtle之后的你试着把它画出来吧
你需要完成的是:
1.定义一个绘制圆环的函数getCircle( ),参数为圆的颜色color
2.getCircle( )函数实现的功能是绘制一个画笔粗细为5,半径为50的圆
3.绘制圆环,在坐标点位为(-80,0) (0,0) (80,0) (-40,-80) (40,-80)的位置分别使用getCircle( )函数
4.上述位置绘制圆的颜色依次为blue,black,red,yellow,green
绘制完成后的效果图如下:
# 利用from.....import....导入turtle模块所有函数 from turtle import * # 定义一个绘制圆环的函数getCircle(),参数为color,设置画笔颜色为参数color,画笔粗细为5,圆半径为50 def getCircle(color): # 落下画笔 pendown() pensize(5) pencolor(color) circle(50,360) # 抬起画笔 penup() # 隐藏画笔 hideturtle() # 抬起画笔 penup() # 在(-80,0)(0,0)(80,0)(-40,-80)(40,-80)绘制五环 goto(-80,0) getCircle("blue") goto(0,0) getCircle("black") goto(80,0) getCircle("red") goto(-40,-80) getCircle("yellow") goto(40,-80) getCircle("green")
好了,今天的讲解就到这里了,我们下期再见!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。