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

如果说人生是一趟漫长的旅程,那么这一路上最珍贵的风景,就是那些陪伴你同行的人。
哆啦A梦,这个可爱的蓝胖子可能是许多人的童年回忆。小编今天再一次带领大家穿越时空,重
拾那一段段令人难忘的时光。
所有文章完整的素材+源码都在👇👇

像绘图规则画笔那些之前的文章都已经说过了哈,这里就不重复了,不会的可以看看之前的文
章学习下啦!
- 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()

很多人不知道,其实哆啦A梦也是谈过恋爱的。他曾经有一个女朋友,对方是一个粉色的猫型机
器人。在他陷入危险的时候,她救了他。在他受欺负的时候,她挺身而出。

于是,哆啦A梦陷入爱河……但是,她更喜欢高个子的机器猫,而哆啦A梦就是相貌平平,还有
点傻气。在哆啦A梦的耳朵被老鼠咬掉之后,她看到了哈哈大笑嘲笑他。
哆啦A梦十分难过,在海边哭了三天三夜,眼泪让他变成蓝胖子......

- 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()

我们这里需要用到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梦的大作了。
其实使用编程语言进行图形的绘制,大多数都是使用规则或不规则的图形组装拼接而成的它就
好像我们小时候玩积木一样,我们要做的就是将不同的积木(代码绘制的图形)拼装成我们想
要的图形就可以了 因此图形的绘制问题,最主要的就是什么形状的图形在哪里放置的问题了。
- 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()
1.1 界面效果

1.2 眨眼效果

1.3 色彩效果

荧幕里的哆啦A梦还是那么可爱,但荧幕外的我们都已经长大了,成熟了。所以,我们更应该珍惜
那些陪伴自己同行的人。是他们,让我们的人生有了色彩。好啦!文章到这里就正式写完了哈,部
分效果没截图, 你们自己拿代码调试哦~
项目0.1 【Python抢票神器】火车票枪票软件到底靠谱吗?实测—终极攻略。
项目0.2 【Python实战】WIFI密码小工具,甩万能钥匙十条街,WIFI任意连哦~(附源码)
项目0.3 【Python实战】再分享一款商品秒杀小工具,我已经把压箱底的宝贝拿出来啦~
项目0.7 【Python合集】“所有晦暗都留给过往,从遇见你开始,凛冬散尽,星河长明”
项目0.8 【Turtle系列】史上最强推理动漫角色代码强势上线——柯南控坐不住了~(附代码)
Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)
