【Python入门练手小项目】童年最爱看的动画片之海绵宝宝和派大
海绵宝宝
工具使用
开发工具:pycharm
开发环境:python3.7, Windows10
使用工具包:turtle
效果展示
项目思路解析
明确turtle基本配置,然后我们在确定画框的高度以及画笔的大小,还有对应画框标题和画笔运行的速度。
screensize(800, 600, 'white')
pensize(3)
title('海绵宝宝')
speed(19)
首先咱们调整画笔位置,找到对应原点位置
def go_to(x, y):
penup()
goto(x, y)
pendown()
go_to(0, 0)
画出海绵宝宝的头部海绵,选取对应宽度,坐标大小可自行调整 定位的函数可以重复使用,海绵宝宝周围为波浪线,添加上对应的弧度,添加上黄色~嘿嘿
def head():
go_to(-200, 180)
fillcolor('yellow')
begin_fill()
seth(-30)
for _ in range(6):
circle(36, 60)
circle(-36, 60)
seth(-125)
for _ in range(5):
circle(40,60)
circle(-40,60)
seth(-210)
for _ in range(4):
circle(45,60)
circle(-45,60)
seth(65)
for _ in range(5):
circle(40,60)
circle(-40,60)
end_fill()
什么都没有的海绵宝宝身体。
给海绵宝宝添加上面部表情,眼睛的数据多为圆弧,鼻子为小倒勾尺寸可自行调整。ps:别调整为整容海绵宝宝啦,哈哈哈
def eye():
# 眼白
go_to(14, -5)
fillcolor('#f0f0f0')
begin_fill()
circle(65, 360)
end_fill()
begin_fill()
go_to(13,12)
seth(98)
circle(-65,360)
end_fill()
#眼球
go_to(-10,20)
fillcolor('blue')
begin_fill()
circle(20,360)
end_fill()
go_to(-22,20)
fillcolor('black')
begin_fill()
circle(7,360)
end_fill()
go_to(40,15)
fillcolor('blue')
begin_fill()
circle(-20, 360)
end_fill()
go_to(53,15)
fillcolor('black')
begin_fill()
circle(-7,360)
end_fill()
#睫毛
go_to(-95,65)
left(20)
forward(40)
go_to(-50,87)
right(25)
forward(32)
go_to(0,70)
right(25)
forward(40)
go_to(40, 75)
left(35)
forward(40)
go_to(90, 87)
right(18)
forward(30)
go_to(120, 70)
right(25)
forward(40)
def nose():
fillcolor('yellow')
go_to(0, -7)
begin_fill()
right(50)
circle(-60, 30)
color('yellow')
goto(15,-40)
end_fill()
color('black')
go_to(0, -7)
seth(-75)
forward(30)
go_to(30,-7)
seth(-105)
forward(30)
这是画上眼睛的海绵宝宝~
添加上嘴 加上海绵宝宝有代表性的大白牙
def mouth():
go_to(-120, - 60)
seth(-45)
circle(200, 30)
seth(0)
forward(100)
seth(15)
circle(200, 30)
def tooth():
go_to(-30,-114)
seth(-95)
fillcolor('white')
begin_fill()
forward(30)
seth(0)
forward(40)
seth(95)
forward(30)
go_to(-30,-114)
end_fill()
go_to(30, -114)
seth(-95)
fillcolor('white')
begin_fill()
forward(30)
seth(0)
forward(40)
seth(95)
forward(30)
go_to(60, -114)
end_fill()
这大门牙有点像兔子,参数也可以自己调整,嘿嘿
面部完成之后开始完善身体的一些结构增加小白衬衫和海绵宝宝的手臂。
def body():
go_to(-170,-180)
seth(-120)
circle(150, 30)
seth(0)
forward(40)
seth(100)
forward(35)
seth(-80)
forward(100)
fillcolor('brown')
begin_fill()
seth(0)
forward(300)
seth(80)
forward(110)
seth(-100)
forward(65)
seth(180)
forward(315)
go_to(-118,-400)
end_fill()
go_to(-170,-255)
fillcolor('yellow')
begin_fill()
seth(-75)
forward(80)
seth(0)
forward(17)
seth(105)
forward(85)
end_fill()
go_to(200, -170)
seth(-60)
circle(-150,30)
seth(-180)
forward(45)
begin_fill()
seth(0)
forward(20)
seth(-100)
forward(85)
seth(180)
forward(20)
end_fill()
你是不是觉得可以了,不不不,还有非常重要的一点,那就是它的红色红领巾啦。
最后一步给添加海绵宝宝的红色红领巾
def tie():
go_to(-50,-225)
seth(-40)
forward(40)
seth(30)
forward(52)
go_to(30,-225)
seth(-30)
forward(40)
seth(40)
forward(45)
fillcolor('red')
go_to(0, -240)
begin_fill()
seth(-60)
forward(10)
seth(0)
forward(30)
seth(60)
forward(15)
go_to(30,-225)
end_fill()
go_to(4,-250)
begin_fill()
seth(-100)
forward(80)
seth(0)
forward(55)
seth(100)
forward(80)
end_fill()
细节方面大佬可以自行调整,喜欢吗?喜欢的可以给我点亮一下大拇指呀~