最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python結(jié)合turtle簡單開發(fā)一個(gè)煙花小工具

 更新時(shí)間:2025年12月29日 09:02:43   作者:數(shù)碼小沙  
這篇文章主要為大家詳細(xì)介紹了Python如何利用turtle模塊實(shí)現(xiàn)的簡單的煙花效果展示小工具,文章的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下

本系列博文將通過Python代碼示例和詳細(xì)步驟講解,讓學(xué)習(xí)過程更加生動(dòng)有趣。Python語言簡潔高效,兼具靈活性與實(shí)用性,歡迎持續(xù)關(guān)注。

下面是一個(gè)使用 Python + turtle 模塊 實(shí)現(xiàn)的簡單 煙花效果展示小工具。它使用了 turtle 圖形庫,無需安裝額外依賴(Python 標(biāo)準(zhǔn)庫自帶),適合在本地直接運(yùn)行。我們只需要安裝好python環(huán)境。然后就可以運(yùn)行。

效果體驗(yàn)

為了方便初學(xué)者體驗(yàn)。分享源代碼。手動(dòng)來運(yùn)行py

python yanhua.py

源代碼

import turtle
import random
import math

# 設(shè)置屏幕
screen = turtle.Screen()
screen.bgcolor("black")
screen.title("Python 煙花效果")
screen.tracer(0, 0)  # 關(guān)閉自動(dòng)刷新,提高性能

# 煙花粒子類
class FireworkParticle:
    def __init__(self, x, y, color):
        self.t = turtle.Turtle()
        self.t.shape("circle")
        self.t.shapesize(0.1, 0.1)  # 小圓點(diǎn)
        self.t.color(color)
        self.t.penup()
        self.t.goto(x, y)
        self.t.pendown()
        
        # 隨機(jī)方向和速度
        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)  # 存活幀數(shù)

    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()

# 存儲(chǔ)所有粒子
particles = []

# 創(chuàng)建煙花函數(shù)
def create_firework(x, y):
    colors = ["red", "orange", "yellow", "green", "blue", "purple", "white", "pink"]
    for _ in range(30):  # 每個(gè)煙花30個(gè)粒子
        color = random.choice(colors)
        particles.append(FireworkParticle(x, y, color))

# 隨機(jī)在屏幕中發(fā)射煙花
def launch_random_firework():
    x = random.randint(-300, 300)
    y = random.randint(-100, 200)
    create_firework(x, y)

# 主循環(huán)
frame = 0
while True:
    frame += 1
    if frame % 60 == 0:  # 每60幀(約1秒)發(fā)射一個(gè)煙花
        launch_random_firework()

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

    screen.update()  # 手動(dòng)刷新畫面
    turtle.delay(10)  # 控制速度

# 注意:正常退出會(huì)被無限循環(huán)阻塞,可按 Ctrl+C 強(qiáng)制退出

如何運(yùn)行

確保你安裝了 Python(3.6+ 推薦)。

將上面代碼保存為 yanhua.py。運(yùn)行后

會(huì)彈出一個(gè)黑色窗口,自動(dòng)播放煙花動(dòng)畫。

關(guān)閉窗口或按Ctrl+C(在終端中)退出程序。

效果說明

每秒隨機(jī)位置發(fā)射一個(gè)彩色煙花。

每個(gè)煙花由 30 個(gè)彩色粒子組成,呈放射狀散開并受“重力”影響下落。

使用了 turtle.tracer(0,0) + 手動(dòng) update() 提高性能,避免閃爍。

可擴(kuò)展建議

添加音效(需 playsoundpygame)。

支持鼠標(biāo)點(diǎn)擊發(fā)射煙花。

增加爆炸聲、多層煙花、漸變色等效果。

改用 pygametkinter 實(shí)現(xiàn)更流暢動(dòng)畫(適合復(fù)雜項(xiàng)目)。

到此這篇關(guān)于Python結(jié)合turtle簡單開發(fā)一個(gè)煙花小工具的文章就介紹到這了,更多相關(guān)Python煙花內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python用模塊zlib壓縮與解壓字符串和文件的方法

    python用模塊zlib壓縮與解壓字符串和文件的方法

    Python標(biāo)準(zhǔn)模塊中,有多個(gè)模塊用于數(shù)據(jù)的壓縮與解壓縮,如zipfile,gzip, bz2等等。這篇文章主要給大家介紹了python如何利用模塊zlib壓縮與解壓字符串和文件的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • Python中所有子圖標(biāo)簽Legend顯示問題記錄

    Python中所有子圖標(biāo)簽Legend顯示問題記錄

    在Python中,利用matplotlib創(chuàng)建的子圖可以很容易地添加圖例,無論是為每個(gè)子圖單獨(dú)添加,還是統(tǒng)一在一起,本文詳細(xì)介紹了如何在多個(gè)子圖中顯示圖例,包括全局圖例的顯示、圖例樣式的調(diào)整和圖例位置的調(diào)整等,需要的朋友可以參考下
    2024-12-12
  • 淺談django channels 路由誤導(dǎo)

    淺談django channels 路由誤導(dǎo)

    這篇文章主要介紹了淺談django channels 路由誤導(dǎo),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python數(shù)據(jù)分析之Numpy庫的使用詳解

    Python數(shù)據(jù)分析之Numpy庫的使用詳解

    NumPy(Numerical Python)是Python的一種開源的數(shù)值計(jì)算擴(kuò)展。這種工具可用來存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來表示矩陣(matrix)),支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫
    2021-11-11
  • pip安裝Python庫時(shí)遇到的問題及解決方法

    pip安裝Python庫時(shí)遇到的問題及解決方法

    這篇文章主要介紹了pip安裝Python庫時(shí)遇到的問題及解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11
  • 使用python Telnet遠(yuǎn)程登錄執(zhí)行程序的方法

    使用python Telnet遠(yuǎn)程登錄執(zhí)行程序的方法

    今天小編就為大家分享一篇使用python Telnet遠(yuǎn)程登錄執(zhí)行程序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python?判斷字符串當(dāng)中是否包含字符(str.contain)

    python?判斷字符串當(dāng)中是否包含字符(str.contain)

    這篇文章主要介紹了python?判斷字符串當(dāng)中是否包含字符(str.contain),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 深入理解Python內(nèi)置函數(shù)map filter reduce及與列表推導(dǎo)式對(duì)比

    深入理解Python內(nèi)置函數(shù)map filter reduce及與列表推導(dǎo)式對(duì)比

    這篇文章主要為大家介紹了Python內(nèi)置函數(shù)map filter reduce及與列表推導(dǎo)式對(duì)比方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • python開發(fā)任意表達(dá)式求值全功能示例

    python開發(fā)任意表達(dá)式求值全功能示例

    這篇文章主要為大家介紹了python開發(fā)任意表達(dá)式求值全功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Python之如何調(diào)整圖片的文件大小

    Python之如何調(diào)整圖片的文件大小

    這篇文章主要介紹了Python之如何調(diào)整圖片的文件大小問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-03-03

最新評(píng)論

嘉善县| 闽清县| 吴堡县| 潞城市| 大埔区| 龙口市| 甘洛县| 从江县| 福州市| 龙山县| 图们市| 安岳县| 门头沟区| 威远县| 宝山区| 株洲县| 乐业县| 昌黎县| 铁岭市| 高邮市| 金门县| 济南市| 若尔盖县| 金沙县| 芦山县| 西峡县| 新密市| 仙桃市| 百色市| 安徽省| 宁化县| 抚宁县| 武陟县| 四会市| 汨罗市| 宁蒗| 美姑县| 沁水县| 双流县| 韩城市| 民权县|