首页 > 分享 > 使用python自制桌面宠物,好玩!——枫原万叶桌宠,可以直接打包成exe去跟朋友炫耀。。。

使用python自制桌面宠物,好玩!——枫原万叶桌宠,可以直接打包成exe去跟朋友炫耀。。。

大家好,我是小黄。

今天我们使用python实现一个桌面宠物。只需要gif动态图片就行。超级简单容易上手。

#完整源代码可在下方图片免费获取

一:下载相关的库文件。

我们本次使用到的库文件为:tkinter和pyautogui

下载命令:

pip install tkinter 

pip install pyautogui

二.我们把gif导入,放在DestTop.py同级下面即可。

DeskTop.py(不完整的)

import tkinter as tk

import pyautogui as pt

import random

import os

from PIL import Image, ImageTk

# 获取主屏幕分辨率

WIDTH, HEIGHT = pt.size()

taskbarHeight = 40

# 将人物大小减少 40%

imgWidth, imgHeight = 670, 550

# 计算右侧10%区域的起始位置

right_margin = int(WIDTH * 0.1)

posX = WIDTH - imgWidth - right_margin # 右侧10%区域内的初始X位置

posY = 0 # 初始Y位置

# 创建主窗口

root = tk.Tk()

root.geometry(f"{imgWidth}x{imgHeight}+{posX}+{posY}")

root.overrideredirect(1)

root.configure(bg='black')

root.attributes('-transparentcolor', 'black')

root.wm_attributes('-topmost', 1)

# 右键菜单

def create_context_menu(event):

context_menu.post(event.x_root, event.y_root)

def exit_application():

root.quit()

context_menu = tk.Menu(root, tearoff=0)

context_menu.add_command(label="退出", command=exit_application)

def load_images(file_path):

images = []

try:

img = Image.open(file_path)

for frame in range(img.n_frames): # 使用 Pillow 获取帧数

img.seek(frame) # 定位到每一帧

images.append(ImageTk.PhotoImage(img.copy())) # 复制当前帧并转换为 PhotoImage

except Exception as e:

print(f"Error loading frames from {file_path}: {e}")

return images

# 获取当前脚本的目录

current_dir = os.path.dirname(os.path.abspath(__file__))

# 更新 GIF 文件路径

idleRight = load_images(os.path.join(current_dir, "bar.gif"))

idleLeft = load_images(os.path.join(current_dir, "bar1.gif"))

runRight = load_images(os.path.join(current_dir, "bar1.gif"))

runLeft = load_images(os.path.join(current_dir, "bar3.gif"))

fall = load_images(os.path.join(current_dir, "bar1.gif"))

status = {

0: fall,

1: idleRight,

2: idleLeft,

3: runRight,

4: runLeft

}

status_num = 0

canvas = tk.Canvas(root, width=imgWidth, height=imgHeight, bg='black', highlightthickness=0)

canvas.pack()

player = canvas.create_image(imgWidth // 2, imgHeight // 2, image=idleLeft[0])

# 说话文本列表

phrases = [

"海鸥别叫啦,从今天起,我也是漂泊者啊",

"深山踏红叶,耳畔闻鹿鸣",

"可叹,落叶飘零",

"我很喜欢枫叶,可惜,枫叶红时,总多离别。",

"拾花鸟之一趣,照月风之长路",

"闲聊?自然!"

]

def changeStatus():

global status_num

status_num = random.randint(1, 4)

root.after(random.randint(1000, 5000), changeStatus)

def falling():

global status_num, posY

if root.winfo_y() + imgHeight < HEIGHT - taskbarHeight:

status_num = 0

posY += 10 # 增加每次掉落的高度

root.geometry(f"{imgWidth}x{imgHeight}+{posX}+{posY}")

elif root.winfo_y() + imgHeight >= HEIGHT - taskbarHeight and status_num == 0:

status_num = 1

root.after(10, falling) # 保持掉落速度

运行效果:

打包为exe可执行文件:

pyinstaller --onefile --noconsole --exclude-module numpy --exclude-module pandas --add-data "您的绝对路径bar.gif;." --add-data "您的绝对路径bar1.gif;." --add-data "您的绝对路径bar2.gif;." --add-data "您的绝对路径bar3.gif;." DestTop.py

完整源代码和gif资料包请下方获取↓↓↓

相关知识

基于C#制作一个桌面宠物
全部免费的桌面宠物软件推荐
【Python程序】用200行Python代码制作有趣的桌面宠物(源码可分享),大打工人解压放松程序,如何用Python制作一个桌面宠物!
可以互动的桌面宠物app推荐
用 Python 制作一个桌面宠物,好玩!
【C语言/C++】桌面宠物开发(纳西妲)!程序员教你如何把喜欢的角色做成随便把玩的桌面宠物,源码可分享!
【Python教程】教你用Python代码制作一个桌面宠物,专属桌宠,体验感升级1000%(附源码)
[明日方舟桌宠]你老婆邀请你来桌面约会
用Python写个桌面挂件,手把手带你做只桌面宠物~
python做桌面宠物

网址: 使用python自制桌面宠物,好玩!——枫原万叶桌宠,可以直接打包成exe去跟朋友炫耀。。。 https://m.mcbbbk.com/newsview451672.html

所属分类:萌宠日常
上一篇: 基于SSM的宠物用品管理系统(含
下一篇: 每日热点0930