Python 使用 Turtle 库绘制动态彩色爱心动画
代码整体功能概述
借助 Python 的turtle库完成核心功能。整个程序的核心在于绘制一个动态且色彩丰富的爱心,并在爱心中心周期性地显示动态文字。程序运行时,爱心会不断改变大小和颜色,同时文字也会适时更新,最终呈现出一个充满活力与浪漫气息的爱心动画。
完整代码展示
import turtle
import time
# 设置画布和画笔
screen = turtle.Screen()
screen.setup(width=800, height=600)
screen.bgcolor("black")
screen.title("浪漫爱心")
pen = turtle.Turtle()
pen.speed(0)
pen.hideturtle()
# 定义颜色列表
colors = ["red", "pink", "orange", "purple", "yellow"]
# 定义爱心函数
def draw_heart(size, color):
pen.color(color)
pen.fillcolor(color)
pen.pensize(2)
pen.penup()
pen.goto(0, -size)
pen.pendown()
pen.begin_fill()
pen.left(140)
pen.forward(18 * size)
pen.circle(-9 * size, 200)
pen.setheading(60)
pen.circle(-9 * size, 200)
pen.forward(18 * size)
pen.end_fill()
# 定义动态文字函数
text_pen = turtle.Turtle()
text_pen.speed(0)
text_pen.color("white")
text_pen.penup()
text_pen.hideturtle()
def show_text(text, size):
text_pen.clear()
text_pen.goto(0, -size // 2)
text_pen.write(text, font=("Arial", size, "bold"))
# 主循环
texts = ["Love", "Forever", "Together"]
for i in range(100):
color = colors[i % len(colors)]
size = 10 - i // 10
draw_heart(size, color)
if i % 10 == 0:
text = texts[i // 30 % len(texts)]
show_text(text, size * 5)
time.sleep(0.1)
pen.clear()
# 保持窗口打开
turtle.done()
代码详细解析
1. 初始化设置
导入turtle和time库。turtle库模拟海龟绘图,通过前进、后退、左转、右转等指令绘制图形。time库控制时间流程,实现动画流畅播放。创建画布对象screen,设置宽度 800 像素、高度 600 像素,背景色为黑色。创建画笔对象pen,速度设为最快(speed(0)),并隐藏画笔形状以避免干扰画面。
2. 定义颜色列表
定义颜色列表colors,包含红、粉、橙、紫、黄等多种颜色。程序在后续绘制过程中循环使用这些颜色,让爱心不断变换色彩。
3. 爱心绘制函数
draw_heart函数接受size和color参数。设置画笔颜色和填充颜色,画笔粗细为 2。抬起画笔移动至起始位置(0, -size),放下画笔开始绘制。通过旋转 140 度、移动距离、绘制圆弧(半径负值表示向左弯曲)等命令组合成爱心形状,最后封闭图形并结束填充。
4. 动态文字函数
创建新画笔对象text_pen专门用于显示文字,速度最快,颜色白色,隐藏画笔。show_text函数清除旧文字,移动至爱心中心位置(0, -size // 2),使用write方法显示文字,字体 Arial,加粗。
5. 主循环
定义文字列表texts。循环执行 100 次,根据索引选择颜色和大小。调用draw_heart绘制爱心。每 10 次循环切换一次文字,调用show_text显示。每次绘制后暂停 0.1 秒,清除画布以实现动态效果。
6. 保持窗口打开
使用turtle.done()保持窗口打开,直到用户关闭。
总结
利用 Python 的turtle库实现了动态彩色爱心动画,并在中心显示动态文字。代码展示了 Python 的绘图功能,可根据喜好修改颜色、文字和速度,适用于节日表达或编程练习。


