从零上手 DyberPet:用 PySide6 快速打造你的专属桌面宠物

📅 2026/8/14 6:09:24
从零上手 DyberPet:用 PySide6 快速打造你的专属桌面宠物
从零上手 DyberPet用 PySide6 快速打造你的专属桌面宠物【免费下载链接】DyberPetDesktop Cyber Pet Framework based on PySide6项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet桌面宠物框架 DyberPet呆啵宠物或许正是你缺的那块拼图——它把动画、养成、任务、商店整套玩法打包进一个基于 PySide6 的开源项目里让你既能直接养一只会跑会跳的角色也能像搭积木一样往里加自己的角色和道具。这篇文章会带你从零开始把第一只宠物放进桌面再一步步解锁换角色、做模组、二次开发的完整链路。一、先别急着敲代码DyberPet 到底是什么有人会觉得桌面宠物不就是个会动的贴图吗DyberPet 最反直觉的地方就是它远不止贴图这么简单。它是一套完整的桌宠应用核心玩法至少包含这几层桌宠本体能站立、行走、被拖拽、会下落甚至带重力模拟的小家伙养成系统饱食度、好感度、金币、背包、商店一应俱全像在养一个迷你伙伴任务模块番茄钟、专注计时、备忘录、每日目标让它从玩具变成生产力搭子模组生态角色、动作、物品、音效、迷你宠物全部可以通过 JSON 配置自由扩展。从代码结构上看整个框架大致分三块。启动入口在run_DyberPet.py它负责把桌面宠物DyberPet/DyberPet.py中的PetWidget、通知气泡DyberPet/Notification.py、附件动画DyberPet/Accessory.py以及两个控制台——系统面板DyberSettings/和功能面板Dashboard/——拼装在一起。你在run_DyberPet.py里会看到大量信号连接代码各个模块正是靠着它们喊话协作的。下面这张动图是它跑起来之后的真实样子宠物在桌面上走动右键呼出菜单喂食、互动都会弹出对话气泡给出即时反馈。二、五步把第一只宠物请进桌面新手最怕教程第一步就卡住。这里我把启动过程拆成五个小步每一步都告诉你为什么要这么做。第一步准备一个干净的 Python 环境。项目要求 Python 3.9 以上推荐用 conda 单独建一个环境避免污染系统里的其他项目conda create --name Dyber_pyside python3.9.18 conda activate Dyber_pyside第二步按清单安装依赖。核心依赖就五个各自负责一件事依赖作用版本提示apscheduler定时任务调度饱食度下降、到时提醒等conda-forge 安装pynput监听鼠标键盘实现点击、拖拽交互macOS 需固定pynput1.7.6PySide6-Fluent-Widgets提供 Fluent 风格的现代 UI 控件建议固定1.5.4pyside6Qt 的 Python 绑定桌面应用的底座建议6.5.2tendo单实例锁防止程序被重复启动常规安装即可对应的安装命令conda install -c conda-forge apscheduler conda install -c conda-forge pynput pip install PySide6-Fluent-Widgets1.5.4 pip install pyside66.5.2 pip install tendo第三步拉取代码。git clone https://gitcode.com/GitHub_Trending/dy/DyberPet cd DyberPet第四步运行。python run_DyberPet.py如果一切顺利一只小猫就会出现在你的桌面上。注意程序带单实例锁想同时养多只用召唤同伴功能而不是再开一个进程。第五步提前认识两个最常见的报错。报Qt platform plugin错误多半是 PySide6 装到了别的解释器里检查conda activate是否真的生效macOS 上鼠标没反应一般是 pynput 版本问题卸载后重装pynput1.7.6就能解决。三、和宠物过日子喂食、摸头、攒好感跑起来只是开始真正让人上头的是后面的养成循环。宠物有胃也有心。饱食度会随时间慢慢下降你得用背包里的食物喂它好感度则靠互动一点点积累。好感度系统很有讲究等级上限从最初的 7 级一路扩展到了200 级每一级需要 120 点好感度对应的徽章从星星、月亮、太阳一直到皇冠养成深不见底。在DyberPet/Dashboard/statusUI.py里能找到这套数值系统的实现饱食度、好感度、Buff 状态、事件日志都会在这里汇总展示。下面的截图就是角色管理 状态面板的界面——左侧选择要启动的角色右侧查看当前宠物的各项数值和最近的互动记录。互动是双向的。单击角色会冒出一颗心拍拍它有几率触发物品掉落物品会以抛物线轨迹掉进屏幕下方的任务栏拖拽它会被拽走松手后还会下落并触发落地动画。每种反馈都来自res/role/[角色名]/pet_conf.json里定义的动作映射——拍拍、睡觉、生气全是可配置的。经济与增益系统也没落下。金币项目里叫啵币可以在商店消费背包支持整理、使用、喂食物品还能携带 Buff——比如吃了汉堡后 5 分钟内饱食度不再下降或者吃薯条后每 30 秒自动赚 5 金币、持续 2 分钟。这些配置都写在res/items/Default/items_config.json里一个物品回多少血、掉率多高、几级解锁一目了然。最实用的是任务模块。DyberPet/Dashboard/taskUI.py提供番茄钟和自定义专注时间两种模式倒计时会直接显示在宠物头顶。专注期间拍拍宠物它还会弹出气泡监督你。任务完成、时间结算时都有物品或金币掉落作为奖励——把专注变成一件有即时反馈的事是这套设计最打动人的地方。四、换角色、加模组给宠物换皮肤也换性格养久了想换一只项目自带多种角色你也能从社区下载新模组导入。理解这一节你就抓住了整个框架可扩展性的命门。每个角色就是一个文件夹。打开res/role/目录你会发现每个角色独占一个文件夹比如Kitty、ChrisKitty里面通常放着pet_conf.json角色的性格卡——尺寸、缩放、各种动作对应哪套动画、随机行为有哪些act_conf.json动作配置定义每套动画的帧序列、播放速度与锚点action/文件夹动画帧图片站立、行走、睡觉各一沓items_config.json可选角色专属的物品配置。pet_conf.json就是角色的大脑。拿res/role/Kitty/pet_conf.json来说它告诉程序这只猫默认做什么动作、往左走/往右走/被拖拽/下落时分别播放哪套动画以及闲置时按什么概率随机发呆、散步、睡觉甚至生气。想让角色更活泼就把随机走动的概率调高想让它安静就让站立成为绝对主角——改的是配置动的却是整个性格。物品同样可以模组化。res/items/Default/是默认物品仓库汉堡、薯条、果酱、炸鸡都定义在这里。想加一个新道具照葫芦画瓢写一个 JSON 条目指定图片、效果、掉落率和描述即可不需要碰任何 Python 代码。还有宠物的宠物。角色可以附带迷你宠物比如派蒙它们会排队跟随主角色也能单独设置是否跟随、是否掉落、缩放大小。想深挖这块可以顺着DyberPet/Dashboard/下的宠物卡片相关模块翻一翻。五、进阶玩法亲手做一只宠物到这里你已经是个熟练的养宠人了。接下来是更酷的部分——从零造一只自己的宠物或者往框架里加新功能。第一步是准备动画素材。你需要一组按命名规则排好的 PNG 帧图片stand_0.png、stand_1.png……放进角色的action/文件夹再在act_conf.json里声明这些动作。项目在DyberPet/Dashboard/下提供了animationUI.py动作管理和animDesignUI.py动作设计两个界面工具你可以直接在面板里查看、预览甚至组合动作不必手敲每个配置。接着是设计对话。对话不是写死的弹窗而是一棵可以分叉的对话树——每个节点可以是一条文本、一个选项选项又继续指向更多分支。下面这张图展示的就是一个真实的对话流程设计从晚安开始根据用户的选择走向不同的后续节点。再往深走就是信号与槽的世界。打开run_DyberPet.py你会看到几十行connect调用——宠物的动作、数值、气泡、面板之间全靠信号传递消息。比如宠物吃到食物会发出信号通知气泡和状态面板各自订阅、各自更新。看懂这条消息总线你就明白了为什么新功能可以像插头一样直接插进现有系统而不必大改别的模块。最后一道脚手架是官方文档。仓库里的docs/art_dev.md是素材开发指南从角色动作到附件、迷你宠物都有说明res/language/下的翻译文件结构也值得一看——整个项目的中英文切换就是这么实现的。想做更深入的功能开发从这两个入口开始比到处翻代码高效得多。六、看完这篇你现在就可以动手做三件事路径已经清晰了送你一张下一步行动清单今天就能做按第二节的步骤装好环境运行python run_DyberPet.py先和默认猫咪玩十分钟——右键菜单、喂食、拖拽全试一遍这个周末做给现有角色改一次pet_conf.json调高随机动作概率观察性格变化再照着物品配置给自己加一个私房菜道具长期可以做动手画一套自己的角色动作帧或者围绕对话树做一个多分支互动剧情把你的角色真正做成独一无二。桌面宠物这件事技术门槛其实没有想象中高。DyberPet 把复杂的动画状态、数值养成和 UI 交互都封装成了一个个可配置、可替换的积木你要做的只是从会玩到会改再到会造。现在就打开终端把第一只宠物放进你的桌面吧——它正在等你。【免费下载链接】DyberPetDesktop Cyber Pet Framework based on PySide6项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考