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

基于python實現(xiàn)新春煙花盛宴效果

 更新時間:2024年02月05日 10:32:07   作者:Want595  
這篇文章給大家用Python綻放了一場新春煙花盛宴,這里提前祝大家新春快樂呀,文中通過代碼示例給大家介紹的非常詳細(xì),感興趣的小伙伴可以自己動手嘗試一下

效果預(yù)覽

環(huán)境需求

  • python3.11.4及以上
  • PyCharm Community Edition 2023.2.5
  • pyinstaller6.2.0(可選,這個庫用于打包,使程序沒有python環(huán)境也可以運行,如果想發(fā)給好朋友的話需要這個庫哦~)

【注】

新春煙花

程序設(shè)計

# 導(dǎo)入必要的庫
import tkinter  # 導(dǎo)入tkinter庫用于GUI
import random  # 導(dǎo)入random庫用于生成隨機數(shù)
 
# 函數(shù):將窗口居中顯示
def center_window(window, width, height):
    screen_width = window.winfo_screenwidth()
    screen_height = window.winfo_screenheight()
 
    x = (screen_width - width) // 2
    y = (screen_height - height) // 2
 
    window.geometry(f'{width}x{height}+{x}+{y}')  # 設(shè)置窗口的位置和大小
 
# 函數(shù):生成隨機顏色
def color():
    r = random.randint(0, 255)
    g = random.randint(0, 255)
    b = random.randint(0, 255)
    return f'#{r:02x}{g:02x}{b:02x}'  # 返回隨機顏色值的字符串表示
 
# 創(chuàng)建主窗口
root = tkinter.Tk()  # 創(chuàng)建主窗口對象
root.title("新春煙花")  # 設(shè)置窗口標(biāo)題
width = 888
height = 666
center_window(root, width, height)  # 調(diào)用center_window函數(shù)將窗口居中顯示
 
# 創(chuàng)建畫布
canvas = tkinter.Canvas(root, bg='black')  # 創(chuàng)建畫布對象,背景色為黑色
canvas.pack(fill=tkinter.BOTH, expand=1)  # 將畫布填滿整個窗口并擴展
 
# 鼠標(biāo)點擊事件處理函數(shù)
def on_click(event):
    x = event.x
    y = event.y
    firework = Firework(canvas, x, y)  # 創(chuàng)建Firework對象
    firework.fire()  # 發(fā)射煙花
 
# 綁定鼠標(biāo)點擊事件
canvas.bind('<Button-1>', on_click)
 
# 運行主循環(huán)
root.mainloop()  # 啟動主循環(huán),等待用戶交互事件
 
……(完整代碼見文末系列文章哦)

程序分析

這段代碼是使用Python的Tkinter庫創(chuàng)建的一個簡單GUI應(yīng)用程序,模擬了新春煙花的效果。程序的主要功能是在用戶點擊畫布時,在鼠標(biāo)點擊的位置生成并動態(tài)展示煙花效果。

代碼結(jié)構(gòu)與功能概述:

1. 導(dǎo)入所需的庫:

   - `tkinter`:用于構(gòu)建圖形用戶界面(GUI)的基礎(chǔ)庫。

   - `random`:用于生成隨機數(shù)以實現(xiàn)不同顏色和粒子運動軌跡的變化。

2. 定義輔助函數(shù):

   - `center_window(window, width, height)`:接受窗口對象、寬度和高度參數(shù),計算窗口在屏幕上的居中坐標(biāo),并設(shè)置窗口大小和位置。

3. 定義一個生成隨機顏色的方法 `color()`,返回一個隨機RGB值表示的顏色字符串。

4. 定義了一個名為`Firework`的類,其包含以下方法:

   - `__init__(self, canvas, x, y)`:初始化煙花對象,包括畫布引用、初始坐標(biāo)、隨機顏色以及煙花粒子列表。

   - `create_particles(self)`:為煙花生成一定數(shù)量(99個)的隨機速度的粒子,每個粒子用橢圓表示,并存儲粒子ID及其速度信息。

   - `update(self)`:更新煙花狀態(tài),增加粒子半徑、減少壽命,并根據(jù)粒子速度移動粒子,移除超出畫布范圍的粒子。

   - `fire(self)`:在畫布上繪制出煙花主體,并啟動定時器調(diào)用`launch`方法開始連續(xù)更新煙花狀態(tài)。

   - `launch(self)`:連續(xù)執(zhí)行`update`方法,當(dāng)所有粒子消失或煙花壽命結(jié)束時從畫布上刪除煙花。

5. 創(chuàng)建主窗口`root`,設(shè)置標(biāo)題和窗口尺寸,并調(diào)用`center_window`將其居中顯示。

6. 在窗口內(nèi)創(chuàng)建一個黑色背景的畫布,并將畫布填滿整個窗口。

7. 定義鼠標(biāo)點擊事件處理函數(shù)`on_click(event)`,在鼠標(biāo)左鍵點擊時,根據(jù)點擊坐標(biāo)創(chuàng)建一個`Firework`實例并發(fā)射煙花。

8. 將鼠標(biāo)點擊事件綁定到畫布上。

9. 最后運行主循環(huán)`root.mainloop()`,持續(xù)監(jiān)聽用戶交互和GUI事件,直到窗口被關(guān)閉。

通過這個程序,用戶可以在畫布上任意位置點擊來觸發(fā)煙花動畫,每朵煙花由多個隨機顏色和方向的粒子組成,粒子會按照設(shè)定的速度在畫布上移動,逐漸擴散并最終消失,從而模擬出真實的煙花綻放和消散的效果。

運行結(jié)果

寫在最后

到此這篇關(guān)于基于python實現(xiàn)新春煙花盛宴效果的文章就介紹到這了,更多相關(guān)python新春煙花效果內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

柞水县| 安义县| 桑植县| 临城县| 枣强县| 军事| 南平市| 蓬溪县| 临桂县| 桂林市| 凭祥市| 杭州市| 利辛县| 卢湾区| 柳河县| 调兵山市| 南安市| 延津县| 兴国县| 龙口市| 和顺县| 焉耆| 鹿泉市| 余庆县| 绥芬河市| 东乌珠穆沁旗| 贵州省| 卢湾区| 剑川县| 彭泽县| 昭通市| 石狮市| 白河县| 武夷山市| 南开区| 青州市| 大荔县| 准格尔旗| 梧州市| 延长县| 库伦旗|