文 | 豆豆
女朋友特别喜欢小猪佩奇,看到小猪佩奇的玩偶就走不动了,刚好最近研究了下 Python 的 turtle 库,简言之这个库就是用来在电脑作画的,你可以操控一只画笔,包括设置其颜色速度等参数,还可以控制其位置和移动方向,于是我就突发奇想能不能用 turtle 来画一只小猪佩奇来哄女朋友开心呢,来跟着派森酱一起上手操作吧。
先来看下我们最终实现的效果图。
安装
作画之前首先需要将我们用到的库安装一下,超简单,使用 pip 进行安装即可。
pip3 install turtle
分析
小猪佩奇看起来简单,实际画起来还是比较复杂的,我们将分成鼻子、头、眼睛、耳朵、嘴、身体、手、脚、尾巴等几部分来分别作画。
老规矩,先引入今天要用到的库 turtle 并做一些基础设置
import turtle as t
def setting(): # 参数设置
t.pensize(4)
t.hideturtle()
t.colormode(255)
t.color((255, 155, 192), "pink")
t.setup(840, 500)
t.speed(10)
五官
第一步当然是先将鼻子、眼睛、耳朵、嘴巴等五官画出来啦。
def nose(x, y): # 鼻子
t.penup()
t.goto(x, y)
t.pendown()
t.setheading(-30)
... # 省略部分代码
def head(x, y): # 头
t.color((255, 155, 192), "pink")
t.penup()
t.goto(x, y)
t.setheading(0)
... # 省略部分代码
def ears(x, y): # 耳朵
t.color((255, 155, 192), "pink")
t.penup()
t.goto(x, y)
t.pendown()
... # 省略部分代码
def eyes(x, y): # 眼睛
t.color((255, 155, 192), "white")
t.penup()
t.setheading(90)
t.forward(-20)
... # 省略部分代码
def cheek(x, y): # 腮
t.color((255, 155, 192))
... # 省略部分代码
def mouth(x, y): # 嘴
t.color(239, 69, 19)
t.penup()
t.goto(x, y)
... # 省略部分代码
来看下效果。
身体
五官画完之后就是身体和肢体了,其实也不复杂,主要是计算好其对应的位置就可以了。
def body(x, y): # 身体
t.color("red", (255, 99, 71))
t.penup()
t.goto(x, y)
t.pendown()
... # 省略部分代码
def hands(x, y): # 手
t.color((255, 155, 192))
t.penup()
t.goto(x, y)
t.pendown()
... # 省略部分代码
def foot(x, y): # 脚
t.pensize(10)
t.color((240, 128, 128))
t.penup()
t.goto(x, y)
... # 省略部分代码
def tail(x, y): # 尾巴
t.pensize(4)
t.color((255, 155, 192))
t.penup()
t.goto(x, y)
... # 省略部分代码
再来看下效果,有没有觉得非常像呢。
入口函数
最后将各部位函数整合到一个入口函数即可。
def main():
setting()
nose(-100, 100)
head(-69, 167)
ears(0, 160)
eyes(0, 140)
cheek(80, 10)
mouth(-20, 30)
body(-32, -8)
hands(-56, -45)
foot(2, -177)
tail(148, -155)
t.done()
if __name__ == '__main__':
main()
至此,大功告成。
总结
今天派森酱带大家一起将小猪佩奇用程序画了出来,由于篇幅有限文中就省略了部分代码,需要的小伙伴根据文末的方式自行获取即可。其实小伙伴们完全可以发挥自己的想象力,有时候惊喜不需要花费很多钱,只需要用心一点就可以让另一半开心很久,祝大家天天开心啦~
PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!
老规矩,兄弟们还记得么,如果感觉文章内容不错的话,记得分享让更多的人知道!
【代码获取方式】
识别文末二维码,回复:豆豆