教你用 Python 實現抖音熱門表白軟件


之前在群里看到有人發了一個抖音上很火的小視頻,就是一個不正經的軟件,運行后問你是不是願意做我的朋友,但你沒法點擊到「不同意」!並且沒辦法直接關閉窗口!

很不正經,很流氓,有點適合我。

效果大概是這樣的:

流氓!

我要做一個高仿版的!

實現思路

首先我想到的就是 pygame 實現,因為之前很多人都用它「打過飛機」,不對,是做「打飛機」的游戲,因此多少有些熟悉。

其實思路很簡單,就是探測鼠標位置,當鼠標跑到按鈕上面時,隨機改變按鈕的位置。

剩下的就是組件的布局樣式了!

這里我在網上找了一個小圖片,放在左方,然后中間位置放置兩行文字,下方放置兩個按鈕,最終布局如下:

樣式布局

主要實現邏輯

實現流程大致如下:

實現流程

主要的邏輯就是鼠標移動到按鈕上時,按鈕的位置進行隨機的變動。

如何判斷鼠標在按鈕上?看下出自靈魂畫手的示意圖:

判斷鼠標和按鈕的相對位置

代碼實現也很簡單:

# 生成隨機的位置坐標
def get_random_pos():
    x, y = random.randint(20, WIDTH-20), random.randint(20, HEIGHT-20)
    return x, y

# 獲取鼠標位置
# 若鼠標位置位於按鈕區域內
# 則隨機生成按鈕位置進行顯示
mouse_pos = pygame.mouse.get_pos()
if mouse_pos[0] < unlike_pos_x+unlike_pos_width and mouse_pos[0] > unlike_pos_x and\
        mouse_pos[1] < unlike_pos_y+unlike_pos_height and mouse_pos[1] > unlike_pos_y:
    while True:
        unlike_pos_x, unlike_pos_y = get_random_pos()
        if mouse_pos[0] < unlike_pos_x+unlike_pos_width and mouse_pos[0] > unlike_pos_x and\
                mouse_pos[1] < unlike_pos_y+unlike_pos_height and mouse_pos[1] > unlike_pos_y:
            continue
        break

看着有點亂,但其實就是上圖的公式。

實現效果

最終實現效果:

實現效果

最后,把我們的程序打包成 exe,當然,需要附上圖片和字體文件。

不會代碼打包的可以參考之前的文章:

1、 使用 PyInstaller 打包 Python 程序
2、 使用 py2exe 打包 Python 程序

程序和最終的 exe 文件,關注下方公眾號,回復【表白】即可獲取。

另外,據說 tkinter 也能實現,改天研究下~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM