Skip to content

Repository files navigation

🦖 大将怪兽摧毁 - Desktop Monster Deleter

原始项目归属:本项目基于原始作者 531149627MonsterDeleter 原始仓库 整理。原始提交和来源信息见 AUTHORS.md

这是一个充满趣味的 Windows 桌面交互应用!当你想删除电脑上的文件时,不再是单调的系统提示,而是可以召唤出一只强悍的“大将怪兽”,让他迈着嚣张的步伐走到文件跟前,一脚将文件连同垃圾桶一起踢爆粉碎!

✨ 核心亮点

  • 🎯 狙击级精准锁定:高级半透明磨砂 UI 与红色十字狙击光标,给你沉浸式的瞄准体验。
  • 🦖 生动的怪兽动效:包括出场、行走、指点、踢爆、飞离等全套精心设计的逐帧动画(支持完美绿幕抠图)。
  • 💥 硬核视听震撼:全程伴随专属 BGM、怪兽语音以及爆破音效,删除文件也能成为一种享受。
  • 🖱️ 智能右键菜单集成:程序只需运行一次,即可自动在 Windows 右键菜单中注册“召唤大将怪兽摧毁”选项。
  • 🎨 Petdex 角色选择:可从 Petdex 下载 Boba、Mallow、Wangcai 等角色,或输入任意角色 slug 安装到本机。
  • 🚀 指哪打哪:在任意文件夹或桌面右击文件并召唤怪兽,它都能精确获取鼠标的绝对物理坐标,实现精准打击。

📦 如何使用(无需安装环境)

如果你拿到了打包好的 MonsterDeleter.exe,只需要两步:

  1. 初始化和选角色:双击运行一次 MonsterDeleter.exe。程序会注册右键菜单并打开设置窗口;选择离线默认怪兽,或下载几个基础 Petdex 角色后保存。
  2. 享受摧毁:在桌面上或任意文件夹中,右键点击你想删除的文件,选择 “召唤大将怪兽摧毁”。屏幕变暗后,使用红色准星点击该文件,欣赏角色的表演!

双击 EXE 不会进入删除动画;只有右键菜单向程序传入目标文件时才会启动删除流程。Petdex 角色素材不会被打包进 EXE,而是按用户选择从 petdex.dev 下载到 %LOCALAPPDATA%\MonsterDeleter\pets,并保留提交者归属信息。

Petdex 标准图集没有统一的“踢文件”动作。对 Petdex 角色,程序使用 jumping 行并配合冲向目标、命中爆炸和回弹位移;内置大将怪兽仍使用原有专用踢击动画。

安装新角色有三种方式:加载官方角色库后按角色名/作者搜索并双击结果;粘贴完整命令(例如 npx petdex@latest install lulu-capybara-2);或选择本地 Petdex ZIP、pet.json、标准角色文件夹。自己用 hatch-pet 生成的角色,可以直接选择包含 pet_request.jsonfinalqa 的输出根目录,程序会自动取用 final/spritesheet-extended.webp。程序使用官方清单里的唯一 slug,不要求用户猜显示名;粘贴命令只解析 slug,接收方无需另外安装 Node.js。

⚠️ 注意:程序实际使用了 send2trash(安全移至回收站)而不是彻底粉碎,所以如果你后悔了,还可以从回收站把文件捞回来。

🛠️ 开发者指南 (Developer Guide)

如果你想通过源码运行或自己修改代码,请确保你的系统上安装了 Python 3。

1. 安装依赖

pip install -r deps.in

pip -r 不要求依赖文件必须叫 requirements.txt。本项目使用 deps.in,以避免部分 Windows 企业安全软件自动改写依赖清单。

如果要运行 scripts/ 中的图片处理工具,再安装可选依赖:

pip install -r asset-tools.in

2. 本地运行测试

# 核心单元测试(不需要 pytest)
py -3 -m unittest tests.test_character_store tests.test_petdex_animator

# 打开初始化/角色配置窗口
py -3 main.py

# 指定删除某个特定文件 (替换成你的文件路径)
py -3 main.py "C:\path\to\your\file.txt"

3. 一键打包发布 (PyInstaller)

使用以下命令可将 Python 源码和 Git 中保留的默认怪兽动画资源打包成单文件的 .exe 程序:

py -3 -m PyInstaller --noconfirm MonsterDeleter.spec

提示: 生成的独立程序会在 dist/MonsterDeleter.exeMonsterDeleter.spec 使用 noarchive=True,单文件版运行时释放 .pyc 而不是 base_library.zip,可避免部分 Windows 安全软件改写 ZIP 导致启动失败。程序会把 Git 中的默认怪兽动画资源释放到 sys._MEIPASS 并加载。音频和选择界面图片不在 Git 中,需要作为独立素材包放在 EXE 旁边的 assets/ 目录,或通过 MONSTERDELETER_ASSETS_DIR 指定。

4. 发布到 GitHub

源码仓库只保留代码、测试、默认怪兽动画、依赖清单和 MonsterDeleter.spec。以下内容应留在本地或作为单独的 Release 附件,不要提交到 Git 历史:

  • assets/音频/assets/选择界面/:需单独确认授权后再作为素材包上传;
  • output/png/:个人角色生成工程和原始图片,可能包含隐私信息及绝对路径;
  • build/dist/MonsterDeleter.exe:构建中间产物和发布二进制;
  • .pytest_cache/.ruff_cache/__pycache__/:本机缓存。

Windows EXE 建议在 GitHub Releases 上传,而不是放进源码仓库。默认怪兽动画采用 CC BY-SA 4.0,详见 assets/DEFAULT_MONSTER_NOTICE.md;外部音频和选择界面素材仍需按照 THIRD_PARTY_NOTICES.md 确认授权。Petdex 角色遵循各角色作者的许可,不能因为安装到本程序就自动获得本项目许可。

📂 项目结构

MonsterDeleter/
│
├── main.py                  # 删除动画、右键入口和可靠回收站操作
├── character_store.py       # Petdex manifest、角色下载缓存和配置
├── setup_window.py          # 初始化与角色选择窗口
├── MonsterDeleter.spec      # 可复现的 PyInstaller 构建配置
├── LICENSE                  # GPL-3.0-or-later 许可证
├── AUTHORS.md               # 原始作者与仓库归属
├── deps.in                  # 应用运行与打包依赖(pip -r 可直接读取)
├── asset-tools.in           # 可选的图片处理依赖
├── THIRD_PARTY_NOTICES.md   # 第三方素材归属和授权检查清单
├── .github/workflows/tests.yml # Windows 核心测试 CI
├── assets/                  # Git 中仅保留默认大将怪兽动画
│   ├── DEFAULT_MONSTER_NOTICE.md # CC BY-SA 4.0 归属与许可
│   └── *_transparent.png    # 默认怪兽透明背景序列帧
├── scripts/                 # 工具脚本目录 (绿幕抠图、切片等)
└── tests/                   # 开发过程中的测试用例

📜 许可与第三方资源

本项目采用分层授权:

内容 许可证
Python 源代码和构建脚本 GPL-3.0-or-later
默认大将怪兽动画图集 CC BY-SA 4.0
Petdex/Codex 社区角色 按每个角色的作者和许可证执行
外部音频与选择界面素材 单独授权,不进入 Git

源代码许可证详见 LICENSE。默认怪兽动画的版权、署名文本和 ShareAlike 要求详见 assets/DEFAULT_MONSTER_NOTICE.md。修改或再分发默认怪兽动画时,需要保留署名,并继续采用 CC BY-SA 4.0 或兼容的相同方式共享许可证。

Petdex 社区角色只在用户选择后运行时下载,不会被打包进本仓库或 EXE。程序会保存角色的作者、来源,以及 manifest/pet.json 提供的 licenselicenseUrl 信息;缺少许可证元数据不能理解为允许无限制使用。本项目是独立第三方项目,与 OpenAI 或 Petdex 没有隶属或官方背书关系。

外部素材包的目录结构应保持为:

assets/
├── 音频/
│   ├── bgm(1).mp3
│   ├── 怪兽说话.mp3
│   └── 爆炸.MP4
└── 选择界面/
    └── 选择界面.png

不安装外部素材时程序仍可运行,但不会播放这些音频,也不会显示选择界面背景图。

About

Windows desktop file deleter with a monster animation | PyQt6 | GPL-3.0-or-later

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages