<dl id="r7hd5"><delect id="r7hd5"></delect></dl>
<dl id="r7hd5"><i id="r7hd5"><font id="r7hd5"></font></i></dl><dl id="r7hd5"><i id="r7hd5"><meter id="r7hd5"></meter></i></dl>
<video id="r7hd5"></video><dl id="r7hd5"><delect id="r7hd5"></delect></dl>
<dl id="r7hd5"><delect id="r7hd5"></delect></dl><dl id="r7hd5"></dl>
<video id="r7hd5"></video> <video id="r7hd5"></video><dl id="r7hd5"></dl><dl id="r7hd5"><i id="r7hd5"><meter id="r7hd5"></meter></i></dl>
<dl id="r7hd5"><i id="r7hd5"></i></dl>
<dl id="r7hd5"></dl><dl id="r7hd5"></dl>
<video id="r7hd5"><i id="r7hd5"></i></video><dl id="r7hd5"></dl><dl id="r7hd5"></dl>
<video id="r7hd5"><i id="r7hd5"><delect id="r7hd5"></delect></i></video>
<i id="r7hd5"></i>
<video id="r7hd5"></video>
<dl id="r7hd5"><delect id="r7hd5"></delect></dl>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用python實現全屏愛心雨怎么實現

發布時間:2023-07-14 11:13:01 來源:億速云 閱讀:107 作者:栢白 欄目:開發技術

本篇文章和大家了解一下利用python實現全屏愛心雨怎么實現。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

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

一 音樂播放

def alarm():
    # 初始化模
    pygame.init()
    pygame.mixer.init()
    # 加載一個音樂
    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() # 停止播放

二 愛心創建

def rainmake(canvas, imagefile):
    rainlist = []
    for i in range(20):
        # 根據圖片,創建一排心
        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)

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

        # 20顆心一起移動
        for i in range(20):
            # 如果這顆心到底了,則不繼續移動,否則height重置就無效了
            if not height[i] == 0:
                # 設置下落步調
                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:
                # 當這顆心走到最下方,則刪除
                canvas.delete(rainlist[i])
                tk.update()
                # 清空這顆心的height
                height[i] = 0
                print(i, h, height)

        # 20顆心全到底,則跳出循環
        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()

五 主函數創建窗口對象和開啟多線程

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

    canvas_style = {
        'bg': 'white',
        'height': '1000',
        'width': '1400',
        'cursor': 'circle'
    }
    # 創建畫布
    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()

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

效果如下圖:

動態愛心下落時,播放音樂,播完后展示一句表白話。

利用python實現全屏愛心雨怎么實現

以上就是利用python實現全屏愛心雨怎么實現的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

国语自产精品视频_91超碰人人澡夜夜澡_欧美777精品久久久久网_97精品国产一区二区三区_久久婷婷大香萑太香蕉av 精品一久久香蕉国产线看观 无码草草草在线观看 国产v亚洲v天堂a无码 国产日韩一区二区三区免费高清 天天爽夜夜爽欧美精品视频 国产午夜福利在线观看红一片 国产午夜精品理论片 芒果一二三区乱码天天看隐藏入口 国产高清女人高潮对白 91久久精品日日躁
<dl id="r7hd5"><delect id="r7hd5"></delect></dl>
<dl id="r7hd5"><i id="r7hd5"><font id="r7hd5"></font></i></dl><dl id="r7hd5"><i id="r7hd5"><meter id="r7hd5"></meter></i></dl>
<video id="r7hd5"></video><dl id="r7hd5"><delect id="r7hd5"></delect></dl>
<dl id="r7hd5"><delect id="r7hd5"></delect></dl><dl id="r7hd5"></dl>
<video id="r7hd5"></video> <video id="r7hd5"></video><dl id="r7hd5"></dl><dl id="r7hd5"><i id="r7hd5"><meter id="r7hd5"></meter></i></dl>
<dl id="r7hd5"><i id="r7hd5"></i></dl>
<dl id="r7hd5"></dl><dl id="r7hd5"></dl>
<video id="r7hd5"><i id="r7hd5"></i></video><dl id="r7hd5"></dl><dl id="r7hd5"></dl>
<video id="r7hd5"><i id="r7hd5"><delect id="r7hd5"></delect></i></video>
<i id="r7hd5"></i>
<video id="r7hd5"></video>
<dl id="r7hd5"><delect id="r7hd5"></delect></dl>