【Python合集系列】也许每个人的童年里都有过这样一个梦:“书桌会被推开钻出来一个哆啦A梦”。(源码合集)

68 篇文章 2 订阅
15 篇文章 2 订阅

前言

“生活百般滋味,生活需要笑对”

 如果说人生是一趟漫长的旅程,那么这一路上最珍贵的风景,就是那些陪伴你同行的人。

哆啦A梦,这个可爱的蓝胖子可能是许多人的童年回忆。小编今天再一次带领大家穿越时空,重

拾那一段段令人难忘的时光。

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

 正文

像绘图规则画笔那些之前的文章都已经说过了哈,这里就不重复了,不会的可以看看之前的文

章学习下啦!

一、Turtle基础版《哆啦A梦》

1)代码展示

import turtle

turtle.speed(5)
turtle.circle(50)
turtle.begin_fill()           #画头
turtle.circle(85)
turtle.fillcolor("blue")
turtle.end_fill()

# turtle.penup()
# turtle.goto(0,20)
# turtle.pendown()

# turtle.begin_fill()
# turtle.circle(35)
# turtle.fillcolor("white")
# turtle.end_fill()

turtle.begin_fill()                #画脸
turtle.circle(60)
turtle.fillcolor("white")
turtle.end_fill()



turtle.penup()
turtle.goto(-20,95)             #化左眼眶
turtle.pendown()
turtle.begin_fill()
turtle.circle(19)
turtle.fillcolor("white")
turtle.end_fill()



turtle.penup()                  #画右眼眶
turtle.goto(20,95)
turtle.pendown()
turtle.begin_fill()
turtle.circle(19)
turtle.fillcolor("white")
turtle.end_fill()

turtle.penup()                 #化左眼珠
turtle.goto(-8,111)
turtle.pendown()
turtle.begin_fill()
turtle.fillcolor("black")
turtle.circle(3)
turtle.end_fill()


turtle.penup()              #画右眼珠
turtle.goto(8,111)
turtle.pendown()
turtle.begin_fill()
turtle.fillcolor("black")
turtle.circle(3)
turtle.end_fill()

turtle.penup()              #画鼻子
turtle.goto(0,85)
turtle.pendown()
turtle.begin_fill()
turtle.circle(10)
turtle.fillcolor("red")
turtle.end_fill()


turtle.goto(0,30)               #画竖线

turtle.penup()            #左边第一根胡子
turtle.goto(-20,70)
turtle.pendown()
turtle.goto(-45,80)

turtle.penup()                  #左边第二根胡子
turtle.goto(-20,60)
turtle.pendown()
turtle.goto(-47,60)

turtle.penup()                  #左边第三根胡子
turtle.goto(-20,50)
turtle.pendown()
turtle.goto(-47,40)

turtle.penup()                  #右边第三根胡子
turtle.goto(20,50)
turtle.pendown()
turtle.goto(47,40)


turtle.penup()                  #右边第二根胡子
turtle.goto(20,60)
turtle.pendown()
turtle.goto(47,60)


turtle.penup()                  #左边第一根胡子
turtle.goto(20,70)
turtle.pendown()
turtle.goto(45,80)

turtle.penup()                  #右边胳膊1
turtle.goto(50,20)
turtle.pendown()
turtle.goto(100,-10)


turtle.penup()                  #右边胳膊2
turtle.goto(50,-20)
turtle.pendown()
turtle.goto(80,-40)

turtle.begin_fill()
turtle.goto(100,-10)
turtle.goto(50,20)
turtle.goto(50,-20)
turtle.goto(80,-40)
turtle.fillcolor("yellow")
turtle.end_fill()



turtle.penup()                  #右手
turtle.goto(100,-50)
turtle.pendown()
turtle.begin_fill()
turtle.circle(20)
turtle.fillcolor("blue")
turtle.end_fill()



turtle.penup()                  #左边胳膊1
turtle.goto(-50,20)
turtle.pendown()
turtle.goto(-100,-10)


turtle.penup()                  #左边胳膊2
turtle.goto(-50,-20)
turtle.pendown()
turtle.goto(-80,-40)

turtle.begin_fill()
turtle.goto(-100,-10)
turtle.goto(-50,20)
turtle.goto(-50,-20)
turtle.goto(-80,-40)
turtle.fillcolor("yellow")
turtle.end_fill()

turtle.penup()                  #左手
turtle.goto(-100,-53)
turtle.pendown()
turtle.begin_fill()
turtle.circle(20)
turtle.fillcolor("blue")
turtle.end_fill()


turtle.penup()                  #左手
turtle.goto(-50,-20)
turtle.pendown()
turtle.goto(-50,-100)

turtle.penup()                  #左手
turtle.goto(50,-20)
turtle.pendown()
turtle.goto(50,-100)


turtle.begin_fill()
turtle.penup()
turtle.goto(50,-120)
turtle.pendown()
turtle.circle(10)
turtle.fillcolor("blue")
turtle.end_fill()

turtle.begin_fill()
turtle.goto(20,-120)
turtle.circle(10)
turtle.fillcolor("blue")
turtle.end_fill()


turtle.penup()
turtle.goto(50,-100)
turtle.pendown()
turtle.goto(20,-100)



turtle.penup()
turtle.goto(-50,-120)
turtle.pendown()
turtle.begin_fill()
turtle.circle(10)
turtle.goto(-20,-120)
turtle.circle(10)
turtle.fillcolor("blue")
turtle.end_fill()

turtle.penup()
turtle.goto(-20,-100)
turtle.pendown()
turtle.goto(-50,-100)


turtle.penup()
turtle.goto(-20,-100)
turtle.pendown()
turtle.goto(-20,-85)

turtle.goto(20,-85)
turtle.goto(20,-100)

turtle.penup()
turtle.goto(-50,-20)
turtle.pendown()

turtle.begin_fill()
turtle.goto(50,-20)
turtle.goto(50,-85)
turtle.goto(-50,-85)
turtle.goto(-50,-20)
turtle.fillcolor("blue")
turtle.end_fill()


turtle.penup()
turtle.goto(0,-20)    #铃铛
turtle.pendown()
turtle.begin_fill()
turtle.circle(10)
turtle.fillcolor("yellow")
turtle.end_fill()



turtle.penup()
turtle.goto(-10,-10)
turtle.pendown()
turtle.goto(10,-10)


turtle.penup()
turtle.goto(-50,20)
turtle.pendown()
turtle.begin_fill()
turtle.goto(50,20)
turtle.goto(50,0)
turtle.goto(-50,0)
turtle.goto(-50,20)
turtle.fillcolor("red")
turtle.end_fill()


turtle.penup()
turtle.goto(50,0)
turtle.pendown()
turtle.begin_fill()
turtle.circle(10)
turtle.fillcolor("red")
turtle.end_fill()


turtle.penup()
turtle.goto(-50,0)
turtle.pendown()
turtle.begin_fill()
turtle.circle(10)
turtle.fillcolor("red")
turtle.end_fill()


turtle.penup()                  #内裤
turtle.goto(-50,-70)
turtle.pendown()
turtle.begin_fill()
turtle.goto(50,-70)
turtle.goto(50,-50)
turtle.goto(-50,-50)
turtle.goto(-50,-70)
turtle.fillcolor("red")
turtle.end_fill()

turtle.penup()
turtle.goto(-10,-70)
turtle.pendown()
turtle.begin_fill()
turtle.goto(-10,-85)
turtle.goto(10,-85)
turtle.goto(10,-70)
turtle.goto(-10,-70)
turtle.fillcolor("red")
turtle.end_fill()

2)效果展示

二、Turtle进阶版《哆啦A梦》

Ps小故事:

很多人不知道,其实哆啦A梦也是谈过恋爱的。他曾经有一个女朋友,对方是一个粉色的猫型机

器人。在他陷入危险的时候,她救了他。在他受欺负的时候,她挺身而出。

于是,哆啦A梦陷入爱河……但是,她更喜欢高个子的机器猫,而哆啦A梦就是相貌平平,还有

点傻气。在哆啦A梦的耳朵被老鼠咬掉之后,她看到了哈哈大笑嘲笑他。

哆啦A梦十分难过,在海边哭了三天三夜,眼泪让他变成蓝胖子......

1)代码展示

from turtle import *


# 无轨迹跳跃
def my_goto(x, y):
    penup()
    goto(x, y)
    pendown()


# 眼睛
def eyes():
    fillcolor("#ffffff")
    begin_fill()

    tracer(False)
    a = 2.5
    for i in range(120):
        if 0 <= i < 30 or 60 <= i < 90:
            a -= 0.05
            lt(3)
            fd(a)
        else:
            a += 0.05
            lt(3)
            fd(a)
    tracer(True)
    end_fill()


# 胡须
def beard():
    my_goto(-32, 135)
    seth(165)
    fd(60)

    my_goto(-32, 125)
    seth(180)
    fd(60)

    my_goto(-32, 115)
    seth(193)
    fd(60)

    my_goto(37, 135)
    seth(15)
    fd(60)

    my_goto(37, 125)
    seth(0)
    fd(60)

    my_goto(37, 115)
    seth(-13)
    fd(60)


# 嘴巴
def mouth():
    my_goto(5, 148)
    seth(270)
    fd(100)
    seth(0)
    circle(120, 50)
    seth(230)
    circle(-120, 100)


# 围巾
def scarf():
    fillcolor('#e70010')
    begin_fill()
    seth(0)
    fd(200)
    circle(-5, 90)
    fd(10)
    circle(-5, 90)
    fd(207)
    circle(-5, 90)
    fd(10)
    circle(-5, 90)
    end_fill()


# 鼻子
def nose():
    my_goto(-10, 158)
    seth(315)
    fillcolor('#e70010')
    begin_fill()
    circle(20)
    end_fill()


# 黑眼睛
def black_eyes():
    seth(0)
    my_goto(-20, 195)
    fillcolor('#000000')
    begin_fill()
    circle(13)
    end_fill()

    pensize(6)
    my_goto(20, 205)
    seth(75)
    circle(-10, 150)
    pensize(3)

    my_goto(-17, 200)
    seth(0)
    fillcolor('#ffffff')
    begin_fill()
    circle(5)
    end_fill()
    my_goto(0, 0)


# 脸
def face():
    fd(183)
    lt(45)
    fillcolor('#ffffff')
    begin_fill()
    circle(120, 100)
    seth(180)
    # print(pos())
    fd(121)
    pendown()
    seth(215)
    circle(120, 100)
    end_fill()
    my_goto(63.56, 218.24)
    seth(90)
    eyes()
    seth(180)
    penup()
    fd(60)
    pendown()
    seth(90)
    eyes()
    penup()
    seth(180)
    fd(64)


# 头型
def head():
    penup()
    circle(150, 40)
    pendown()
    fillcolor('#00a0de')
    begin_fill()
    circle(150, 280)
    end_fill()


# 画哆啦A梦
def Doraemon():
    # 头部
    head()

    # 围脖
    scarf()

    # 脸
    face()

    # 红鼻子
    nose()

    # 嘴巴
    mouth()

    # 胡须
    beard()

    # 身体
    my_goto(0, 0)
    seth(0)
    penup()
    circle(150, 50)
    pendown()
    seth(30)
    fd(40)
    seth(70)
    circle(-30, 270)

    fillcolor('#00a0de')
    begin_fill()

    seth(230)
    fd(80)
    seth(90)
    circle(1000, 1)
    seth(-89)
    circle(-1000, 10)

    # print(pos())

    seth(180)
    fd(70)
    seth(90)
    circle(30, 180)
    seth(180)
    fd(70)

    # print(pos())
    seth(100)
    circle(-1000, 9)

    seth(-86)
    circle(1000, 2)
    seth(230)
    fd(40)

    # print(pos())

    circle(-30, 230)
    seth(45)
    fd(81)
    seth(0)
    fd(203)
    circle(5, 90)
    fd(10)
    circle(5, 90)
    fd(7)
    seth(40)
    circle(150, 10)
    seth(30)
    fd(40)
    end_fill()

    # 左手
    seth(70)
    fillcolor('#ffffff')
    begin_fill()
    circle(-30)
    end_fill()

    # 脚
    my_goto(103.74, -182.59)
    seth(0)
    fillcolor('#ffffff')
    begin_fill()
    fd(15)
    circle(-15, 180)
    fd(90)
    circle(-15, 180)
    fd(10)
    end_fill()

    my_goto(-96.26, -182.59)
    seth(180)
    fillcolor('#ffffff')
    begin_fill()
    fd(15)
    circle(15, 180)
    fd(90)
    circle(15, 180)
    fd(10)
    end_fill()

    # 右手
    my_goto(-133.97, -91.81)
    seth(50)
    fillcolor('#ffffff')
    begin_fill()
    circle(30)
    end_fill()

    # 口袋
    my_goto(-103.42, 15.09)
    seth(0)
    fd(38)
    seth(230)
    begin_fill()
    circle(90, 260)
    end_fill()

    my_goto(5, -40)
    seth(0)
    fd(70)
    seth(-90)
    circle(-70, 180)
    seth(0)
    fd(70)

    # 铃铛
    my_goto(-103.42, 15.09)
    fd(90)
    seth(70)
    fillcolor('#ffd200')
    # print(pos())
    begin_fill()
    circle(-20)
    end_fill()
    seth(170)
    fillcolor('#ffd200')
    begin_fill()
    circle(-2, 180)
    seth(10)
    circle(-100, 22)
    circle(-2, 180)
    seth(180 - 10)
    circle(100, 22)
    end_fill()
    goto(-13.42, 15.09)
    seth(250)
    circle(20, 110)
    seth(90)
    fd(15)
    dot(10)
    my_goto(0, -150)

    # 画眼睛
    black_eyes()

2)效果展示

三、Tkinter高级版《会动的哆啦A梦》

我们这里需要用到GUI编程Tkinter界面。

tkinter库画图基本思路 在使用Python的tkinter库进行界面绘图时,必须要用到的就是设置

Canvas画布,熟悉tkinter库的小伙伴应该都知道这个函数。 

 在设置好画布之后,就是我们的程序员大画家施展才艺的时候了,在这里呢大灰狼给小伙伴一

个小小的建议,就是在进行Canvas绘画之前呢。 可以先根据画布的位置设置一个x、y轴的坐标

中心,这样做的目的呢就是在使用代码作图的时候,方便根据坐标参数进行图形界面的布局设

置,设置坐标轴的具体代码如下: 

画虚线 line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4)) #设置横向坐标线 line2 =

w.create_line(200,0,200,400,fill="black",dash=(4,4)) #设置纵向坐标线 1 2 3 设置好坐标轴之后就

是开始哆啦A梦的大作了。

其实使用编程语言进行图形的绘制,大多数都是使用规则或不规则的图形组装拼接而成的它就

好像我们小时候玩积木一样,我们要做的就是将不同的积木(代码绘制的图形)拼装成我们想

要的图形就可以了 因此图形的绘制问题,最主要的就是什么形状的图形在哪里放置的问题了。 

1)代码展示

from tkinter import *
import time
import sched
root = Tk()
root.title('动态《哆啦A梦》')
root.geometry('800x600')
w = Canvas(root,width = 400,height = 400,bg = 'white')
w.place(x = 200, y = 100)
l1 = Label(text = '作品名称:', font = ('楷体', 15), fg = 'black').place(x = 200, y = 25)      #设置作品名称的Label
l1 = Label(text = '会动的《哆啦A梦》', font = ('楷体', 15), fg = 'black').place(x = 300, y = 25)
l1 = Label(text = '顾木子吖', font = ('楷体', 15), fg = 'black').place(x = 200, y = 60)
l1 = Label(text = '大雄:真拿你没办法!', font = ('楷体', 15), fg = 'black').place(x = 400, y = 60)

#定义1函数清空画布
def cv_white():
    w.create_rectangle((0, 0, 500, 500), fill='white')  #重新放置新画布

#定义画原始人物的函数
def bt1_age():
    #画虚线
    line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4))    #设置横向坐标线
    line2 = w.create_line(200,0,200,400,fill="black",dash=(4,4))    #设置纵向坐标线

    #画圆脸
    w.create_oval((125,70,275,220),fill = 'blue')

    #画圆脸
    w.create_oval((140,100,260,220),fill = 'white')

    #画椭圆
    w.create_oval((200,80,230,120),fill = 'white')

    #画椭圆
    w.create_oval((170,80,200,120),fill = 'white')

    #画椭圆眼睛
    w.create_oval((203,92,215,108),fill = 'black')

    #画椭圆眼睛
    w.create_oval((185,92,197,108),fill = 'black')

    #画椭圆眼睛
    w.create_oval((206,95,212,105),fill = 'white')

    #画椭圆眼睛
    w.create_oval((188,95,194,105),fill = 'white')

    #画圆鼻子
    w.create_oval((193,115,207,130),fill = 'red')

    #嘴
    w.create_arc((140,60,260,180),style = 'arc',start = 240,extent = 60)#画弧线

    w.create_line(200,130,200,180,fill="black")#竖线

    #胡须
    w.create_line(215,150,245,150,fill="black")#横线
    w.create_line(155,150,185,150,fill="black")#横线

    w.create_line(158,127,185,137,fill="black")
    w.create_line(215,137,242,127,fill="black")

    w.create_line(158,170,185,163,fill="black")
    w.create_line(215,163,242,168,fill="black")

    #身体
    w.create_rectangle(150,200,250,285,fill="blue")     #身体正前方

    w.create_arc((160,190,240,270),style = 'chord',start = 135,extent = 270,fill = 'white')#画弧线

    w.create_line((150,200,250,200),fill="red",width = 10,capstyle = 'round')#圆滑轮廓线

    w.create_arc((185,270,215,300),style = 'chord',start = 0,extent = 180,fill = 'white')#画弧线
    w.create_line(185,285,215,285,fill="white")
    #画脚
    #画椭圆
    w.create_oval((140,275,190,295),fill = 'white')     #左脚
    w.create_oval((210,275,260,295),fill = 'white')     #右脚

    #画手
    w.create_polygon([150,205,150,235,120,250,120,235],outline="black",fill="blue")#手臂多边形
    w.create_polygon([250,205,250,235,280,250,280,235],outline="black",fill="blue")

    w.create_oval((110,230,135,255),fill = 'white')     #左圆形手掌
    w.create_oval((265,230,290,255),fill = 'white')     #右圆形手掌

    #画铃铛
    w.create_oval((190,200,210,220),fill = 'yellow')    #铃铛中心圆
    w.create_line((191,210,209,210),fill="black",width = 5,capstyle = 'round')#圆滑轮廓线
    w.create_line((192,210,208,210),fill="yellow",width = 3,capstyle = 'round')#圆滑轮廓线

    w.create_oval((198,213,202,217),fill = 'red')   #中心小红点
    w.create_line(200,218,200,220,fill="black")

    #画口袋
    w.create_arc((170,200,230,260),style = 'chord',start = 180,extent = 180,fill = 'white')#画弧线


#定义函数实现人物眨眼
def bt1_later():
    #w = Canvas(root, width=400, height=400, bg='white').place(x = 200, y = 100)
    #画虚线
    line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4))
    line2 = w.create_line(200,0,200,400,fill="black",dash=(4,4))

    #画圆脸
    w.create_oval((125,70,275,220),fill = 'blue')

    #画圆脸
    w.create_oval((140,100,260,220),fill = 'white')

    #画椭圆
    w.create_oval((200,80,230,120),fill = 'white')

    #画椭圆
    w.create_oval((170,80,200,120),fill = 'white')


    #闭左眼
    w.create_line((185, 100, 195, 105), fill='black')   #闭左眼
    w.create_line((185, 105, 195, 105), fill='black')   #闭左眼
    w.create_line((185, 110, 195, 105), fill='black')   #闭左眼

    #闭右眼
    w.create_line((205, 105, 215, 100), fill='black')   #闭右眼
    w.create_line((205, 105, 215, 105), fill='black')   #闭右眼
    w.create_line((205, 105, 215, 110), fill='black')   #闭右眼


    #画圆鼻子
    w.create_oval((193,115,207,130),fill = 'red')

    #嘴
    w.create_arc((140,60,260,180),style = 'arc',start = 240,extent = 60)#画弧线

    w.create_line(200,130,200,180,fill="black")#竖线

    #胡须
    w.create_line(215,150,245,150,fill="black")#横线
    w.create_line(155,150,185,150,fill="black")#横线

    w.create_line(158,127,185,137,fill="black")
    w.create_line(215,137,242,127,fill="black")

    w.create_line(158,170,185,163,fill="black")
    w.create_line(215,163,242,168,fill="black")

    #身体
    w.create_rectangle(150,200,250,285,fill="blue")

    w.create_arc((160,190,240,270),style = 'chord',start = 135,extent = 270,fill = 'white')#画弧线

    #w.create_rectangle(150,195,250,205,fill='red')capstyle = 'round'

    w.create_line((150,200,250,200),fill="red",width = 10,capstyle = 'round')#圆滑轮廓线

    w.create_arc((185,270,215,300),style = 'chord',start = 0,extent = 180,fill = 'white')#画弧线
    w.create_line(185,285,215,285,fill="white")
    #画脚
    #画椭圆
    w.create_oval((140,275,190,295),fill = 'white')
    w.create_oval((210,275,260,295),fill = 'white')

    #画手
    w.create_polygon([150,205,150,235,120,250,120,235],outline="black",fill="blue")#手臂多边形
    w.create_polygon([250,205,250,235,280,250,280,235],outline="black",fill="blue")

    w.create_oval((110,230,135,255),fill = 'white')
    w.create_oval((265,230,290,255),fill = 'white')

    #画铃铛
    w.create_oval((190,200,210,220),fill = 'yellow')
    w.create_line((191,210,209,210),fill="black",width = 5,capstyle = 'round')#圆滑轮廓线
    w.create_line((192,210,208,210),fill="yellow",width = 3,capstyle = 'round')#圆滑轮廓线

    w.create_oval((198,213,202,217),fill = 'red')
    w.create_line(200,218,200,220,fill="black")

    #画口袋
    w.create_arc((170,200,230,260),style = 'chord',start = 180,extent = 180,fill = 'white')#画弧线
    #time.sleep(2)


#定义函数实现四肢运动
def bt2_later():
    #w = Canvas(root, width=400, height=400, bg='white').place(x=200, y=100)
    #画虚线
    line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4))
    line2 = w.create_line(200,0,200,400,fill="black",dash=(4,4))
    w.create_rectangle((198,50, 202,70), fill = 'black')
    w.create_rectangle((180, 45, 220, 50), fill='yellow')
    #画圆脸
    w.create_oval((125,70,275,220),fill = 'blue')

    #画圆脸
    w.create_oval((140,100,260,220),fill = 'white')

    #画椭圆
    w.create_oval((200,80,230,120),fill = 'white')

    #画椭圆
    w.create_oval((170,80,200,120),fill = 'white')

    #画椭圆眼睛
    w.create_oval((203,92,215,108),fill = 'black')

    #画椭圆眼睛
    w.create_oval((185,92,197,108),fill = 'black')

    #画椭圆眼睛
    w.create_oval((206,95,212,105),fill = 'white')

    #画椭圆眼睛
    w.create_oval((188,95,194,105),fill = 'white')

    #画圆鼻子
    w.create_oval((193,115,207,130),fill = 'red')

    #嘴
    w.create_arc((140,60,260,180),style = 'arc',start = 240,extent = 60)#画弧线
    w.create_rectangle((190,180, 210, 200), fill = 'red')   #实现伸舌头动作
    w.create_line(200,130,200,180,fill="black")#竖线

    #胡须
    w.create_line(215,150,245,150,fill="black")#横线
    w.create_line(155,150,185,150,fill="black")#横线

    w.create_line(158,127,185,137,fill="black")
    w.create_line(215,137,242,127,fill="black")

    w.create_line(158,170,185,163,fill="black")
    w.create_line(215,163,242,168,fill="black")

    #身体
    #修改参数实现四肢运动
    w.create_rectangle(150,200,250,285,fill="blue")     #身体正前方

    w.create_arc((160,190,240,270),style = 'chord',start = 135,extent = 270,fill = 'white')#画弧线



    w.create_line((150,200,250,200),fill="red",width = 10,capstyle = 'round')#圆滑轮廓线

    w.create_arc((170,270,230,300),style = 'chord',start = 0,extent = 180,fill = 'white', outline = 'white')#画弧线使双腿张开
    w.create_line(185,285,215,285,fill="white")
    #画脚
    #画椭圆
    w.create_oval((130,275,170,295),fill = 'white')
    w.create_oval((230,275,270,295),fill = 'white')

    #画手
    #修改参数实现抬手
    w.create_polygon([150,205,150,235,120,220,120,200],outline="black",fill="blue")#手臂多边形
    w.create_polygon([250,205,250,235,280,220,280,200],outline="black",fill="blue")   #右胳膊

    w.create_oval((100,195,125,220),fill = 'white')
    w.create_oval((275,193,300,220),fill = 'white')

    #画铃铛
    w.create_oval((190,200,210,220),fill = 'yellow')
    w.create_line((191,210,209,210),fill="black",width = 5,capstyle = 'round')#圆滑轮廓线
    w.create_line((192,210,208,210),fill="yellow",width = 3,capstyle = 'round')#圆滑轮廓线

    w.create_oval((198,213,202,217),fill = 'red')
    w.create_line(200,218,200,220,fill="black")

    #画口袋
    w.create_arc((170,200,230,260),style = 'chord',start = 180,extent = 180,fill = 'white')#画弧线

#定义函数使人物颜色变化为黄色
def bt3_later():
    #更改
    #画虚线
    line1 = w.create_line(0,200,400,200,fill="black",dash=(4,4))
    line2 = w.create_line(200,0,200,400,fill="black",dash=(4,4))

    #画圆脸
    w.create_oval((125,70,275,220),fill = 'yellow')

    #画圆脸
    w.create_oval((140,100,260,220),fill = 'white')

    #画椭圆
    w.create_oval((200,80,230,120),fill = 'white')

    #画椭圆
    w.create_oval((170,80,200,120),fill = 'white')

    # 画椭圆眼睛
    w.create_oval((203, 92, 215, 108), fill='black')

    # 画椭圆眼睛
    w.create_oval((185, 92, 197, 108), fill='black')

    # 画椭圆眼睛
    w.create_oval((206, 95, 212, 105), fill='white')

    # 画椭圆眼睛
    w.create_oval((188, 95, 194, 105), fill='white')

    #画圆鼻子
    w.create_oval((193,115,207,130),fill = 'red')

    #嘴
    w.create_arc((140,60,260,180),style = 'arc',start = 240,extent = 60)#画弧线

    w.create_line(200,130,200,180,fill="black")#竖线

    #胡须
    w.create_line(215,150,245,150,fill="black")#横线
    w.create_line(155,150,185,150,fill="black")#横线

    w.create_line(158,127,185,137,fill="black")
    w.create_line(215,137,242,127,fill="black")

    w.create_line(158,170,185,163,fill="black")
    w.create_line(215,163,242,168,fill="black")

    #身体
    w.create_rectangle(150,200,250,285,fill="yellow")

    w.create_arc((160,190,240,270),style = 'chord',start = 135,extent = 270,fill = 'white')#画弧线

    #w.create_rectangle(150,195,250,205,fill='red')capstyle = 'round'

    w.create_line((150,200,250,200),fill="red",width = 10,capstyle = 'round')#圆滑轮廓线

    w.create_arc((185,270,215,300),style = 'chord',start = 0,extent = 180,fill = 'white')#画弧线
    w.create_line(185,285,215,285,fill="white")
    #画脚
    #画椭圆
    w.create_oval((140,275,190,295),fill = 'white')
    w.create_oval((210,275,260,295),fill = 'white')

    #画手
    w.create_polygon([150,205,150,235,120,250,120,235],outline="black",fill="yellow")#手臂多边形
    w.create_polygon([250,205,250,235,280,250,280,235],outline="black",fill="yellow")

    w.create_oval((110,230,135,255),fill = 'white')
    w.create_oval((265,230,290,255),fill = 'white')

    #画铃铛
    w.create_oval((190,200,210,220),fill = 'yellow')
    w.create_line((191,210,209,210),fill="black",width = 5,capstyle = 'round')#圆滑轮廓线
    w.create_line((192,210,208,210),fill="yellow",width = 3,capstyle = 'round')#圆滑轮廓线

    w.create_oval((198,213,202,217),fill = 'red')
    w.create_line(200,218,200,220,fill="black")

    #画口袋
    w.create_arc((170,200,230,260),style = 'chord',start = 180,extent = 180,fill = 'white')#画弧线




s = sched.scheduler(time.time,time.sleep)

#定义递归函数实现重新布局画布
def bt1_while():
    cv_white()  #重新布局画布
    bt1_age()   #设置为原始人物

    # 递归点击实现眨眼
    b1 = Button(root, text='点击眨眼', cursor='hand2', font=('楷体', 15), comman=bt1, bg='#E9F578').place(x=200, y=520)

#眨眼
def bt1():
    cv_white()  #重新布局画布
    bt1_later()     #调用眨眼函数

    b1 = Button(root, text = '点击眨眼', cursor = 'hand2', font = ('楷体', 15), comman = bt1_while, bg = '#E9F578').place(x = 200, y = 520)


#定义递归函数实现重新布局画布
def bt2_while():
    cv_white()  #重新布局画布
    bt1_age()   #定义原始人物
    b2 = Button(root, text='运动四肢', cursor='hand2', font=('楷体', 15), comman=bt2, bg='#DC78F5').place(x = 350, y = 520)

#运动四肢
def bt2():
    cv_white()  #重新布局画布
    bt2_later()     #调用运动函数
    b1 = Button(root, text='运动四肢', cursor='hand2', font=('楷体', 15), comman=bt2_while, bg='#DC78F5').place(x = 350, y = 520)


#定义递归函数实现重新布局画布
def bt3_while():
    cv_white()  #重新布局画布
    bt1_age()   #定义原始人物
    b3 = Button(root, text='色彩装饰', cursor='hand2', font=('楷体', 15), comman=bt3, bg='#78B4F5').place(x=510, y=520)

#色彩装饰
def bt3():
    cv_white()  #重新布局画布
    bt3_later()     #调用颜色改变函数
    b3 = Button(root, text = '色彩装饰', cursor = 'hand2', font = ('楷体', 15), comman = bt3_while, bg = '#78B4F5').place(x = 510, y = 520)

bt1_age()   #第一次界面打开时实现原始人物布局

#定义点击眨眼按钮
b1 = Button(root, text = '点击眨眼', cursor = 'hand2', font = ('楷体', 15), comman = bt1, bg = '#E9F578').place(x = 200, y = 520)

#定义运动四肢按钮的
b2 = Button(root, text = '运动四肢', cursor = 'hand2', font = ('楷体', 15), comman = bt2, bg = '#DC78F5').place(x = 350, y = 520)

#定义色彩装饰按钮
b3 = Button(root, text = '色彩装饰', cursor = 'hand2', font = ('楷体', 15), comman = bt3, bg = '#78B4F5').place(x = 510, y = 520)

#页面窗口循环
mainloop()

2)效果展示

1.1 界面效果

1.2 眨眼效果

1.3 色彩效果

总结

荧幕里的哆啦A梦还是那么可爱,但荧幕外的我们都已经长大了,成熟了。所以,我们更应该珍惜

那些陪伴自己同行的人。是他们,让我们的人生有了色彩。好啦!文章到这里就正式写完了哈,部

分效果没截图, 你们自己拿代码调试哦~

✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

🔨推荐往期文章——

项目0.1  【Python抢票神器】火车票枪票软件到底靠谱吗?实测—终极攻略。

项目0.2  【Python实战】WIFI密码小工具,甩万能钥匙十条街,WIFI任意连哦~(附源码)

项目0.3  【Python实战】再分享一款商品秒杀小工具,我已经把压箱底的宝贝拿出来啦~

项目0.7  【Python合集】“所有晦暗都留给过往,从遇见你开始,凛冬散尽,星河长明”

项目0.8  【Turtle系列】史上最强推理动漫角色代码强势上线——柯南控坐不住了~(附代码)

🎁文章汇总——

Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值