本页目录

Matter.js:Web 2D 刚体物理引擎

matter-js · liabru/matter-js

Matter.js 是 JavaScript 编写的 Web 2D 刚体物理引擎,仓库主题涉及 canvas、physics、physics-engine、rigid-bodies。README 汇总官网、Demo、Gallery、插件、安装、用法、示例、文档和 Wiki,并列出混合形状、凹形 SVG、复合刚体、牛...

其他 无明确引擎 Python 游戏状态管理 入门
★ Stars 39 Forks 5 License MIT 更新 2026-04-07

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
未知
引擎 / 框架:无明确引擎 暂无中文教程标记 未标记站长实测
从源码运行需通过 pip 安装 requirements.txt 依赖,国内网络可能较慢,建议配置镜像源;构建 locales 需系统提供 gettext 的 msgfmt 命令;README 未提及国内特殊限制,待核验。

中文项目介绍

Retux 是一个以 Python 编写的开源游戏项目,仓库位于 retux-game/retux。当前仓库未提供一句话简介,README 的主要内容集中在「如何运行」以及面向开发者与打包者的构建说明上,因此本文只依据 README 中可核验的信息进行整理,不对玩法、画面风格或功能范围做额外推断。

从 README 可以看出,Retux 同时面向两类使用者:一类是只想直接游玩的玩家,另一类是希望从源码运行、参与本地化翻译或自行打包分发的开发者与打包者。项目以 Python 脚本形式直接运行,也可以通过冻结工具生成不依赖本机 Python 环境的可执行文件,这说明它在分发方式上做了较完整的考虑。

README 文件本身以 CC0 公有领域贡献方式发布,并声明「按原样提供、不附带任何担保」。

核心功能

源码直接运行

游戏以 Python 脚本 `retux.py` 作为入口,安装依赖后即可启动。

预打包版本可用

如果下载的是针对特定系统发布的版本,直接运行可执行文件即可,无需自行配置 Python 环境。

命令行选项

游戏支持传入命令行参数,在终端中使用 `-h` 可查看具体选项说明。

多语言本地化支持

项目使用 gettext 体系管理翻译,源码仓库中的非英语语言需要先构建 locales 才能生效。

两种冻结打包方案

支持 PyInstaller 与 cx_Freeze 两种方式生成可执行文件,便于在未安装 Python 或缺少依赖的系统上运行。

技术架构分析

技术要点

运行环境要求

从源码运行需要 Python 3.8 或更高版本,并安装 requirements.txt 中列出的依赖。README 给出的安装命令为:

python3 -m pip install -r requirements.txt

依赖安装完成后,运行 retux.py 即可启动游戏。在多数系统上可以直接双击该文件;若系统弹出「显示还是运行」的对话框,应选择运行。

本地化构建流程

如果源码是直接从 Git 仓库克隆的,那么除英语之外的语言需要先构建 locales 才能正常工作。该步骤仅对开发者、翻译者或直接使用 Git 源码的打包者有必要。构建前提是系统中存在 msgfmt 命令(属于 gettext 工具集),然后在 data/locale 目录下执行:

./build.py

冻结为可执行文件

游戏本身是 Python 脚本,由解释器直接执行;但项目也支持通过工具「冻结」成可执行文件,以便在未安装 Python 或缺少依赖的系统上运行。冻结所需的依赖与从源码运行所需的依赖一致。

  • 在 Linux 上使用 PyInstaller:
pyinstaller -F retux.py
  • 在 Windows 上使用 PyInstaller(带 -w 与 -i 参数):
pyinstaller -Fw -i data/images/misc/icon.ico retux.py

生成的二进制文件会放在 dist 目录中,将其移动到游戏根目录后,运行效果应与直接运行 retux.py 一致;随后可以删除残留的 build、dist 目录以及 retux.spec 文件。如果 -F 选项不可用,或不需要单文件形式,可以省略 -F,此时会生成一个二进制文件及若干附属文件(包括共享对象文件),这些文件都需要移动到游戏根目录。

  • 使用 cx_Freeze 时,各系统命令一致:
python3 setup.py build

该命令会在 build 目录下按架构命名的子目录中生成可执行文件及所需附属文件,全部移动到游戏根目录后即可运行。README 提到,一般情况下更推荐 PyInstaller,因为它更易用且在实践中表现更好;cx_Freeze 可作为 PyInstaller 无法工作时的备选方案。

构建与运行

综合 README 内容,可以整理出以下使用路径:

  1. 直接游玩:下载对应系统的预打包版本,运行可执行文件。
  2. 从源码运行:确认 Python 3.8+,安装 requirements.txt 依赖,运行 retux.py;需要查看参数时在终端加 -h。
  3. 从 Git 源码运行非英语语言:先确保系统有 msgfmt,在 data/locale 下执行 ./build.py 构建 locales。
  4. 自行分发:按平台选择 PyInstaller 或 cx_Freeze 生成可执行文件,并将产物移动到游戏根目录。

README 未提供具体的依赖清单内容、支持的操作系统列表或版本发布渠道,这些信息需要到仓库中进一步查看。

补充说明

学习建议

对于希望借助该项目学习的读者,可以从 README 已经明确的方向入手:

  • 观察一个 Python 游戏项目如何组织入口脚本与依赖声明,理解 requirements.txt 在可复现运行环境中的作用。
  • 学习 gettext 本地化工作流:从 data/locale 目录结构与 build.py 脚本出发,理解翻译文件如何被编译并在运行时加载。
  • 对比 PyInstaller 与 cx_Freeze 两种冻结方案的差异,尤其是单文件模式与多文件模式的取舍,以及 Windows 下 -w、-i 参数的意义。
  • 若关注跨平台分发,可研究 README 中「在无 Python 环境的系统上运行」这一目标是如何通过冻结工具达成的。

由于 README 未描述游戏玩法与内部架构,涉及游戏逻辑、渲染或关卡设计的学习内容需以仓库实际代码为准,本文不作推测。

开源许可证与版权说明

许可证标识:MIT。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目