欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用python實(shí)現(xiàn)全屏愛心雨向喜歡的人表白

 更新時(shí)間:2023年05月15日 09:57:41   作者:完美,其實(shí)并不美  
馬上520了,教大家用Python做一個(gè)下愛心雨的特效,這篇文章主要給大家介紹了關(guān)于利用python實(shí)現(xiàn)全屏愛心雨向喜歡的人表白的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

以下核心代碼參考黑客帝國的界面的雨滴圖和網(wǎng)友的愛心素材

一 音樂播放

def alarm():
    # 初始化模
    pygame.init()
    pygame.mixer.init()
    # 加載一個(gè)音樂
    file = r'C:\Users\95853\PycharmProjects\contanctoracle\.mp3'
    pygame.mixer.music.load(file)
    pygame.mixer.music.play()
    time.sleep(65)    # 播放65秒
    pygame.mixer.music.stop() # 停止播放

二 愛心創(chuàng)建

def rainmake(canvas, imagefile):
    rainlist = []
    for i in range(20):
        # 根據(jù)圖片,創(chuàng)建一排心
        rainlist.append(canvas.create_image(100 + 80 * i, INIT_HEIGHT, anchor=NE, image=imagefile))
    return rainlist

三 愛心下落

ef raindown(tk, canvas, imagefile, sec):
    # 線程間等待
    time.sleep(sec)
    rainlist = rainmake(canvas, imagefile)

    # 每顆心的縱坐標(biāo)值
    height = [INIT_HEIGHT] * 20
    while True:
        # 每次移動前稍等一會
        time.sleep(0.2)

        # 20顆心一起移動
        for i in range(20):
            # 如果這顆心到底了,則不繼續(xù)移動,否則height重置就無效了
            if not height[i] == 0:
                # 設(shè)置下落步調(diào)
                rnd = random.randint(5, 50)
                canvas.move(rainlist[i], 0, rnd)
                height[i] = height[i] + rnd
                tk.update()

        for i, h in enumerate(height):
            if h > 600:
                # 當(dāng)這顆心走到最下方,則刪除
                canvas.delete(rainlist[i])
                tk.update()
                # 清空這顆心的height
                height[i] = 0
                print(i, h, height)

        # 20顆心全到底,則跳出循環(huán)
        if height == [0] * 20:
            print('break:', threading.current_thread().name)
            break

四 展示表白語

def lookloop(tk, canvas, thread):
    aliveflg = False
    alarm()
    while True:
        # 5s檢測一次
        time.sleep(5)
        for th in thread:
            if th.is_alive():
                aliveflg = True
            else:
                aliveflg = False
        if aliveflg == False:
            break
    # Over
    text = '雨停了,But.I Love You Too...'
    # canvas.font = "bold 4000px Arial"
    canvas.create_text(1050, 450, text=text, fill='red', anchor='e', font=('宋體', 40,))
    canvas.pack()
    time.sleep(10)
    tk.destroy()

五 主函數(shù)創(chuàng)建窗口對象和開啟多線程

def main():
    # 創(chuàng)建窗口對象
    tk = Tk()
    tk.title('愛心之雨')

    canvas_style = {
        'bg': 'white',
        'height': '1000',
        'width': '1400',
        'cursor': 'circle'
    }
    # 創(chuàng)建畫布
    canvas = Canvas(tk, canvas_style)
    canvas.pack()
    imagefile = PhotoImage(file="7777777.gif")

    thread = []
    for i in range(60):#60
        thread.append(threading.Thread(target=raindown, args=(tk, canvas, imagefile, i)))
    for t in thread:
        t.start()

    # 新開一個(gè)線程監(jiān)控運(yùn)行中的60個(gè)線程
    threading.Thread(target=lookloop, args=(tk, canvas, thread)).start()

效果如下圖:

動態(tài)愛心下落時(shí),播放音樂,播完后展示一句表白話。

總結(jié) 

到此這篇關(guān)于利用python實(shí)現(xiàn)全屏愛心雨向喜歡的人表白的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)全屏愛心雨內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 共享變量加鎖、釋放詳解

    Python 共享變量加鎖、釋放詳解

    這篇文章主要介紹了Python 共享變量加鎖、釋放詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python實(shí)戰(zhàn)小游戲之考驗(yàn)記憶力

    python實(shí)戰(zhàn)小游戲之考驗(yàn)記憶力

    本篇文章介紹了用python編寫的曾經(jīng)風(fēng)靡的考驗(yàn)記憶力的小游戲,詳細(xì)介紹了整個(gè)思路和過程以及代碼,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python爬蟲小技巧之偽造隨機(jī)的User-Agent

    Python爬蟲小技巧之偽造隨機(jī)的User-Agent

    這篇文章主要給大家介紹了關(guān)于Python爬蟲小技巧之偽造隨機(jī)的User-Agent的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • python3爬蟲怎樣構(gòu)建請求header

    python3爬蟲怎樣構(gòu)建請求header

    在本篇內(nèi)容里小編給大家分享了關(guān)于python3爬蟲怎樣構(gòu)建請求header的知識點(diǎn),需要的朋友們學(xué)習(xí)下。
    2018-12-12
  • Python數(shù)字比較與類結(jié)構(gòu)

    Python數(shù)字比較與類結(jié)構(gòu)

    這篇文章主要介紹了Python數(shù)字比較與類結(jié)構(gòu),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • 使用APScheduler3.0.1 實(shí)現(xiàn)定時(shí)任務(wù)的方法

    使用APScheduler3.0.1 實(shí)現(xiàn)定時(shí)任務(wù)的方法

    今天小編就為大家分享一篇使用APScheduler3.0.1 實(shí)現(xiàn)定時(shí)任務(wù)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python實(shí)現(xiàn)彈球小游戲的示例代碼

    Python實(shí)現(xiàn)彈球小游戲的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)簡單的彈球小游戲,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2022-11-11
  • python基于tkinter制作下班倒計(jì)時(shí)工具

    python基于tkinter制作下班倒計(jì)時(shí)工具

    這篇文章主要介紹了python基于tkinter制作倒計(jì)時(shí)工具的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • 詳解如何使用Pyecharts制作Map3D

    詳解如何使用Pyecharts制作Map3D

    本文基于 Python3 的 Pyecharts 制作 Map3D(三維地圖) 時(shí)需要使用的設(shè)置參數(shù)和常用模板案例,使用 Pyecharts 進(jìn)行數(shù)據(jù)可視化時(shí)可提供直觀、交互豐富、可高度個(gè)性化定制的數(shù)據(jù)可視化圖表。案例中的代碼內(nèi)容基于 Pyecharts 1.x 版本,需要的朋友可以參考下
    2021-06-06
  • 淺析python標(biāo)準(zhǔn)庫中的glob

    淺析python標(biāo)準(zhǔn)庫中的glob

    glob 文件名模式匹配,不用遍歷整個(gè)目錄判斷每個(gè)文件是不是符合。這篇文章主要介紹了python標(biāo)準(zhǔn)庫中的glob的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2020-03-03

最新評論