前言
“生活百般滋味,生活需要笑对”
如果说人生是一趟漫长的旅程,那么这一路上最珍贵的风景,就是那些陪伴你同行的人。
哆啦A梦,这个可爱的蓝胖子可能是许多人的童年回忆。小编今天再一次带领大家穿越时空,重
拾那一段段令人难忘的时光。
所有文章完整的素材+源码都在👇👇
正文
像绘图规则画笔那些之前的文章都已经说过了哈,这里就不重复了,不会的可以看看之前的文
章学习下啦!
一、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、案例等)
(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)