Python结合turtle简单开发一个烟花小工具

 更新时间:2025年12月29日 09:02:43   作者:数码小沙  
这篇文章主要为大家详细介绍了Python如何利用turtle模块实现的简单的烟花效果展示小工具,文章的示例代码讲解详细,感兴趣的小伙伴可以了解下

本系列博文将通过Python代码示例和详细步骤讲解,让学习过程更加生动有趣。Python语言简洁高效,兼具灵活性与实用性,欢迎持续关注。

下面是一个使用 Python + turtle 模块 实现的简单 烟花效果展示小工具。它使用了 turtle 图形库,无需安装额外依赖(Python 标准库自带),适合在本地直接运行。我们只需要安装好python环境。然后就可以运行。

效果体验

为了方便初学者体验。分享源代码。手动来运行py

python yanhua.py

源代码

import turtle
import random
import math

# 设置屏幕
screen = turtle.Screen()
screen.bgcolor("black")
screen.title("Python 烟花效果")
screen.tracer(0, 0)  # 关闭自动刷新,提高性能

# 烟花粒子类
class FireworkParticle:
    def __init__(self, x, y, color):
        self.t = turtle.Turtle()
        self.t.shape("circle")
        self.t.shapesize(0.1, 0.1)  # 小圆点
        self.t.color(color)
        self.t.penup()
        self.t.goto(x, y)
        self.t.pendown()
        
        # 随机方向和速度
        angle = random.uniform(0, 2 * math.pi)
        speed = random.uniform(2, 6)
        self.vx = math.cos(angle) * speed
        self.vy = math.sin(angle) * speed
        self.life = random.randint(20, 40)  # 存活帧数

    def move(self):
        self.t.setx(self.t.xcor() + self.vx)
        self.t.sety(self.t.ycor() + self.vy)
        self.vy -= 0.1  # 重力
        self.life -= 1
        return self.life > 0

    def hide(self):
        self.t.hideturtle()

# 存储所有粒子
particles = []

# 创建烟花函数
def create_firework(x, y):
    colors = ["red", "orange", "yellow", "green", "blue", "purple", "white", "pink"]
    for _ in range(30):  # 每个烟花30个粒子
        color = random.choice(colors)
        particles.append(FireworkParticle(x, y, color))

# 随机在屏幕中发射烟花
def launch_random_firework():
    x = random.randint(-300, 300)
    y = random.randint(-100, 200)
    create_firework(x, y)

# 主循环
frame = 0
while True:
    frame += 1
    if frame % 60 == 0:  # 每60帧(约1秒)发射一个烟花
        launch_random_firework()

    # 更新粒子
    for p in particles[:]:
        if not p.move():
            p.hide()
            particles.remove(p)

    screen.update()  # 手动刷新画面
    turtle.delay(10)  # 控制速度

# 注意:正常退出会被无限循环阻塞,可按 Ctrl+C 强制退出

如何运行

确保你安装了 Python(3.6+ 推荐)。

将上面代码保存为 yanhua.py。运行后

会弹出一个黑色窗口,自动播放烟花动画。

关闭窗口或按Ctrl+C(在终端中)退出程序。

效果说明

每秒随机位置发射一个彩色烟花。

每个烟花由 30 个彩色粒子组成,呈放射状散开并受“重力”影响下落。

使用了 turtle.tracer(0,0) + 手动 update() 提高性能,避免闪烁。

可扩展建议

添加音效(需 playsoundpygame)。

支持鼠标点击发射烟花。

增加爆炸声、多层烟花、渐变色等效果。

改用 pygametkinter 实现更流畅动画(适合复杂项目)。

到此这篇关于Python结合turtle简单开发一个烟花小工具的文章就介绍到这了,更多相关Python烟花内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python简单的制作图片验证码实例

    Python简单的制作图片验证码实例

    本篇文章主要介绍了Python简单的制作图片验证码实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • python中Class(类)的超详细说明

    python中Class(类)的超详细说明

    这篇文章主要介绍了python中Class(类)的相关资料,Class类定义了具有相同属性和方法的对象集合,对象是类的实例,类变量在整个实例化的对象中是公用的,而实例变量是每个对象独有的,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-11-11
  • Python中shutil模块的常用文件操作函数用法示例

    Python中shutil模块的常用文件操作函数用法示例

    shutil模块提供比OS模块更强大的本地文件操作功能,包括文件的压缩和解压缩等,下面我们就来列举Python中shutil模块的常用文件操作函数用法示例:
    2016-07-07
  • Python处理CSV文件与Excel文件的技巧分享

    Python处理CSV文件与Excel文件的技巧分享

    CSV全称逗号分隔值文件是一种简单通用的文件格式,Excel是 Microsoft为使用 Windows 和 macOS 操作系统开发的一款电子表格软件,下面我们来看看如何使用Python对着两种文件格式进行处理吧
    2025-07-07
  • Python随机数用法实例详解【基于random模块】

    Python随机数用法实例详解【基于random模块】

    这篇文章主要介绍了Python随机数用法,结合实例形式分析了基于random模块的各种随机数操作常用技巧,需要的朋友可以参考下
    2017-04-04
  • python scipy求解非线性方程的方法(fsolve/root)

    python scipy求解非线性方程的方法(fsolve/root)

    今天小编就为大家分享一篇python scipy求解非线性方程的方法(fsolve/root),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python+tkinter模拟“记住我”自动登录实例代码

    Python+tkinter模拟“记住我”自动登录实例代码

    这篇文章主要介绍了Python+tkinter模拟“记住我”自动登录实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Django项目的创建全过程

    Django项目的创建全过程

    本文介绍了如何在Windows系统上安装和配置Python解释器、切换默认版本、使用虚拟环境安装Django,并通过PyCharm创建和管理Django项目
    2025-01-01
  • Python实现贪心算法的示例

    Python实现贪心算法的示例

    这篇文章主要介绍了Python实现贪心算法的示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • 一文教你使用Python绘制丝滑的K线图

    一文教你使用Python绘制丝滑的K线图

    K线图是将各种股票某一时间单位内的开盘价,收盘价,最高价,最低价,通过绘图方式表现出来的一种图形,下面我们来看看如何使用Python实现丝滑绘制K线图吧
    2025-04-04

最新评论