Python Turtle:绚丽多彩的烟花动画 以下是一个使用 Python 的turtle库实现的烟花动画程序示例:收起python复制。

以下是一个使用 Python 的turtle库实现的烟花动画程序示例:

收起

python

复制

import turtle
import random
import time
# 创建画布
screen = turtle.Screen()
screen.bgcolor("black")
screen.title("Fireworks Animation")
# 烟花颜色列表
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
# 发射烟花函数
def firework(x, y):
 pen = turtle.Turtle()
 pen.hideturtle()
 pen.speed(0)
 pen.penup()
 pen.goto(x, y)
 pen.pendown()
 color = random.choice(colors)
 pen.color(color)
 for i in range(30):
 pen.forward(i * 2)
 pen.right(144)
 explosion(pen.xcor(), pen.ycor(), color)
# 烟花爆炸效果函数
def explosion(x, y, color):
 particles = []
 for i in range(30):
 particle = turtle.Turtle()
 particle.hideturtle()
 particle.speed(0)
 particle.penup()
 particle.goto(x, y)
 particle.pendown()
 particle.color(color)
 angle = random.randint(0, 360)
 distance = random.randint(10, 50)
 particle.setheading(angle)
 particle.forward(distance)
 particles.append(particle)
 for _ in range(10):
 for particle in particles:
 particle.forward(5)
# 绑定鼠标点击事件来触发烟花
screen.onclick(firework)
# 主循环
while True:
 screen.update()
 time.sleep(0.1)

在这个程序中:

初始化部分:

  1. 首先创建了一个turtle屏幕对象screen,将背景颜色设置为黑色,并设置了标题。
  2. 定义了一个包含多种颜色的列表colors,用于烟花的颜色选择。

烟花发射和爆炸函数:

  1. firework函数用于发射一个烟花。当调用该函数时,它会在指定的(x, y)坐标处创建一个turtle对象作为烟花。烟花的颜色是从colors列表中随机选择的,然后通过循环绘制出烟花上升的轨迹(这里是一个简单的多边形)。之后调用explosion函数在烟花的顶部位置产生爆炸效果。
  2. explosion函数用于创建烟花爆炸的效果。它在给定的坐标(x, y)处创建多个turtle对象作为烟花爆炸的粒子,每个粒子有随机的方向和距离,然后通过循环让这些粒子向外扩散,模拟爆炸的视觉效果。

事件绑定和主循环:

  1. firework函数绑定到鼠标点击事件上,这样每次点击鼠标时就会发射一个烟花。
  2. 在主循环中,不断更新屏幕以显示动画效果,并添加了一个小的时间延迟0.1秒,以控制动画的帧率和流畅度
作者:赵闪闪168原文地址:https://blog.csdn.net/zhaoshanshan168/article/details/143562397

%s 个评论

要回复文章请先登录注册