【Python入门练手小项目】童年最爱看的动画片之海绵宝宝和派大星❤️

这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战

海绵宝宝

工具使用

开发工具:pycharm
开发环境:python3.7, Windows10
使用工具包:turtle

效果展示

image.png

项目思路解析

明确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()
​
复制代码

什么都没有的海绵宝宝身体。

image.png

给海绵宝宝添加上面部表情,眼睛的数据多为圆弧,鼻子为小倒勾尺寸可自行调整。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)
复制代码

这是画上眼睛的海绵宝宝~

image.png

添加上嘴 加上海绵宝宝有代表性的大白牙

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()
​
复制代码

这大门牙有点像兔子,参数也可以自己调整,嘿嘿
image.png

面部完成之后开始完善身体的一些结构增加小白衬衫和海绵宝宝的手臂。

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()
​
复制代码

你是不是觉得可以了,不不不,还有非常重要的一点,那就是它的红色红领巾啦。

image.png

最后一步给添加海绵宝宝的红色红领巾

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()
复制代码

细节方面大佬可以自行调整,喜欢吗?喜欢的可以给我点亮一下大拇指呀~

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享