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

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

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

效果預覽

環(huán)境需求

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

【注】

新春煙花

程序設計

# 導入必要的庫
import tkinter  # 導入tkinter庫用于GUI
import random  # 導入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ù):生成隨機顏色
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("新春煙花")  # 設置窗口標題
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)  # 將畫布填滿整個窗口并擴展
 
# 鼠標點擊事件處理函數(shù)
def on_click(event):
    x = event.x
    y = event.y
    firework = Firework(canvas, x, y)  # 創(chuàng)建Firework對象
    firework.fire()  # 發(fā)射煙花
 
# 綁定鼠標點擊事件
canvas.bind('<Button-1>', on_click)
 
# 運行主循環(huán)
root.mainloop()  # 啟動主循環(huán),等待用戶交互事件
 
……(完整代碼見文末系列文章哦)

程序分析

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

代碼結構與功能概述:

1. 導入所需的庫:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8. 將鼠標點擊事件綁定到畫布上。

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

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

運行結果

寫在最后

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

相關文章

最新評論

盐亭县| 黄冈市| 怀仁县| 怀宁县| 奉化市| 沙河市| 太白县| 夏河县| 广宁县| 西华县| 拜泉县| 吴桥县| 柯坪县| 遂川县| 宜丰县| 青铜峡市| 甘泉县| 衡南县| 山阴县| SHOW| 靖西县| 射洪县| 卢龙县| 汝阳县| 新沂市| 新津县| 玉龙| 尉氏县| 紫阳县| 永嘉县| 慈利县| 奎屯市| 乌兰浩特市| 西昌市| 景东| 霍邱县| 桂东县| 师宗县| 乐亭县| 乡宁县| 太湖县|