本页目录

GameJs — 基于 HTML Canvas 的 2D 游戏开发库

gamejs · GameJs/gamejs

GameJs 是一个构建在 HTML Canvas 之上的薄封装 JavaScript 库,用于编写 2D 游戏或其他交互式图形应用。除绘图函数外,它还提供图像加载、图形变换与几何绘制、文字渲染、鼠标键盘事件、多声道音频、精灵表动画、加载 Tiled 地图、A* 寻...

动作游戏 RPG 自研引擎 Lua 角色控制 碰撞检测 敌人 AI 背包系统 中级
★ Stars 197 Forks 57 License MIT 更新 2026-10-15

国内开发环境适配

Windows
未知
Linux
官方声明支持
macOS
未知
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
构建需 CMake 与 zip,通常可从系统包管理器获取;GitHub 原仓库已迁移至 GitLab,国内访问 GitLab 可能较慢,建议配置镜像或代理。Solarus 引擎需另行安装,其依赖(如 SDL2)请参考引擎文档。

中文项目介绍

本仓库是开源同人游戏《Zelda: Mystery of Solarus DX》(简称 ZSDX)的游戏数据包,并非完整可执行程序。它需要配合开源类塞尔达 2D 游戏引擎 Solarus 才能运行。游戏数据以 Lua 脚本、图像、音频等资源形式组织,遵循 Solarus 引擎的任务(quest)数据结构。

README 明确指出,本仓库已迁移至 GitLab(https://gitlab.com/solarus-games/zsdx),原 GitHub 仓库不再更新。因此,若需获取最新代码或参与贡献,应访问 GitLab 上的新地址。

本数据包本身不包含引擎二进制,玩家需预先安装 Solarus 引擎。游戏内容为免费开源,具体玩法、剧情与关卡设计请以官方文档和实际运行为准。

玩法指南

本仓库为数据包,不直接提供玩法说明。根据 README,运行游戏需以下步骤:

  1. 确保已安装 Solarus 引擎(solarus_run 可执行文件)。
  2. 进入包含 data 子目录的仓库根目录。
  3. 执行 solarus_run . 启动游戏;若引擎编译时默认任务路径为 .,也可直接运行 solarus_run。

游戏内容为类塞尔达 2D 动作冒险,具体操作、剧情与关卡请以游戏内提示和官方文档为准。

核心功能

数据与引擎分离

仓库仅包含游戏数据文件(Lua 脚本、地图、精灵、音效等),引擎由 Solarus 提供,便于独立更新游戏内容。

标准任务结构

数据目录符合 Solarus 任务规范,包含 `data` 子目录或可打包为 `data.solarus` 压缩包。

两种运行方式

可直接指定数据目录运行,也可通过 CMake 构建并安装为系统级任务。

跨平台潜力

Solarus 引擎支持多平台,但本仓库 README 未明确列出支持的系统,需参考引擎文档。

开源免费

游戏数据以开源协议发布,允许学习、修改与再分发(具体协议请查阅仓库许可证文件)。

技术架构分析

技术要点

  • 主要语言:Lua,用于编写游戏逻辑、地图事件、敌人行为等。
  • 引擎依赖:Solarus 引擎(C++ 编写),提供渲染、音频、输入、物理等底层能力。
  • 构建系统:使用 CMake 管理构建流程,依赖 zip 工具生成 data.solarus 归档。
  • 安装布局:默认安装到 /usr/local/share/solarus/zsdx/,并在 /usr/local/bin/ 生成启动脚本 zsdx。
  • 路径解析:solarus_run 接受包含 data 子目录的路径,或包含 data.solarus 压缩包的路径。

构建与安装

README 提供了完整的构建与安装指引,适用于希望将游戏安装到系统的用户。

直接运行

无需构建,在仓库根目录执行:

solarus_run .

或(若引擎默认任务路径为 .):

solarus_run

默认安装

需要 CMake 和 zip 工具:

cmake .
make
make install

默认安装到 /usr/local,生成:

  • /usr/local/share/solarus/zsdx/data.solarus(数据归档)
  • /usr/local/bin/zsdx(启动脚本)

之后可直接运行 zsdx 启动游戏。

自定义安装目录

通过 CMake 变量指定前缀,避免需要 root 权限:

cmake -D CMAKE_INSTALL_PREFIX=/home/your_directory .
make
make install

安装后的文件路径将基于指定前缀,启动脚本会自动使用正确的任务路径。

补充说明

学习建议

本仓库适合以下方向的学习者:

  • Lua 游戏逻辑:通过阅读任务中的 Lua 脚本,了解事件驱动、实体行为等实现方式。
  • Solarus 引擎任务结构:学习如何组织地图、精灵、音频等资源,以及如何通过 CMake 打包分发。
  • 类塞尔达游戏设计:参考其数据组织与关卡设计思路(需结合引擎文档理解)。

建议先安装 Solarus 引擎并成功运行本数据包,再逐步阅读 Lua 源码,修改简单参数观察效果。由于仓库已迁移,请以 GitLab 上的最新版本为学习对象。

开源许可证与版权说明

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

相似项目