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用模块zlib压缩与解压字符串和文件的方法

    python用模块zlib压缩与解压字符串和文件的方法

    Python标准模块中,有多个模块用于数据的压缩与解压缩,如zipfile,gzip, bz2等等。这篇文章主要给大家介绍了python如何利用模块zlib压缩与解压字符串和文件的方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • Python中所有子图标签Legend显示问题记录

    Python中所有子图标签Legend显示问题记录

    在Python中,利用matplotlib创建的子图可以很容易地添加图例,无论是为每个子图单独添加,还是统一在一起,本文详细介绍了如何在多个子图中显示图例,包括全局图例的显示、图例样式的调整和图例位置的调整等,需要的朋友可以参考下
    2024-12-12
  • 浅谈django channels 路由误导

    浅谈django channels 路由误导

    这篇文章主要介绍了浅谈django channels 路由误导,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Python数据分析之Numpy库的使用详解

    Python数据分析之Numpy库的使用详解

    NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库
    2021-11-11
  • pip安装Python库时遇到的问题及解决方法

    pip安装Python库时遇到的问题及解决方法

    这篇文章主要介绍了pip安装Python库时遇到的问题及解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • 使用python Telnet远程登录执行程序的方法

    使用python Telnet远程登录执行程序的方法

    今天小编就为大家分享一篇使用python Telnet远程登录执行程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python 判断字符串当中是否包含字符(str.contain)

    python 判断字符串当中是否包含字符(str.contain)

    这篇文章主要介绍了python 判断字符串当中是否包含字符(str.contain),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 深入理解Python内置函数map filter reduce及与列表推导式对比

    深入理解Python内置函数map filter reduce及与列表推导式对比

    这篇文章主要为大家介绍了Python内置函数map filter reduce及与列表推导式对比方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python开发任意表达式求值全功能示例

    python开发任意表达式求值全功能示例

    这篇文章主要为大家介绍了python开发任意表达式求值全功能示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Python之如何调整图片的文件大小

    Python之如何调整图片的文件大小

    这篇文章主要介绍了Python之如何调整图片的文件大小问题,具有很好的参考价值,希望对大家有所帮助。
    2023-03-03

最新评论