PushBoxz
https://github.com/ZowAultre/PushBoxz
## 4. 游戏内流程
游戏内使用 Canvas UI 组织完整体验流程。
### 4.1 封面 UI
封面包含:
- `Start`:进入关卡选择。
- `Create`:进入游戏内自定义关卡编辑器。
- `Quit`:退出游戏。
### 4.2 关卡选择 UI
关卡选择界面支持分页显示。
官方模式:
- 显示 `LevelSceneBuilderRegistry` 中启用的官方关卡。
- 未解锁的关卡不可点击。
- 通关一个关卡后会解锁下一个关卡。
- 已通关关卡会通过存档标记。
创造模式:
- 显示玩家在游戏内创建的自定义关卡。
- 自定义关卡与官方 Unity 关卡资产分开存储。
- 关卡选择界面中有按钮可以在官方模式和创造模式之间切换。
- 创造模式中可以粘贴他人分享的关卡码,并点击 `Load` 导入关卡。
创造模式删除:
- 点击 `Delete` 后进入删除选择模式。
- 按钮文本会变为 `Select`。
- 此时点击某个自定义关卡会删除该关卡。
- 再次点击 `Select` 会退出删除模式,按钮文本恢复为 `Delete`。
创造模式导入关卡码:
- 在关卡码输入框中粘贴 `PBZ1-XXXX-XXXX` 形式的关卡码。
- 点击 `Load`。
- 如果校验通过,该关卡会保存为创造模式关卡,并刷新到关卡列表中。
- 如果关卡码不完整、被改错或内容不合法,会显示错误提示。
- 导入的关卡会使用创造模式自动 ID,例如 `C001`、`C002`。
### 4.3 游戏 HUD
进入关卡后显示:
- 当前关卡 ID 或名称。
- 当前步数。
- `Undo`:回撤一步。
- `Restart`:重置当前关卡。
- `Menu`:返回关卡选择。
- `Share`:复制当前关卡的关卡码到系统剪贴板。
基础操作:
- `WASD`:移动玩家。
- 格子步进模式下,朝箱子继续移动即可推动箱子。
- 连续移动模式下,可根据当前配置使用交互键推动箱子。
分享关卡码:
- 进入一个关卡后点击 `Share`。
- 游戏会把当前关卡编码成 `PBZ1-XXXX-XXXX` 形式的文本并复制到剪贴板。
- 该关卡码只包含玩法数据,不包含预制体、音效、UI 资源、通关状态或解锁状态。
- 其他玩家可以在创造模式关卡列表中粘贴并 `Load`,不需要联网。
### 4.4 通关 UI
当所有箱子都与目的地重合时,显示通关弹窗:
- `Continue`:返回关卡选择。
- `Next`:如果存在下一关,则直接进入下一关。
通关时会立刻解锁下一关,因此点击 `Next` 前下一关已经处于可进入状态。
## 5. 游戏内自定义关卡编辑器
游戏内自定义编辑器用于让玩家创建简单的创造模式关卡,不需要打开 Unity Editor 工具。
主要控件:
- 尺寸 Slider:设置正方形地图尺寸。
- 画笔按钮:墙、目的地、箱子、玩家、擦除。
- 模式按钮:
- 初始显示 `Mode`。
- 切换后显示当前模式 `Push` 或 `Pull`。
- 网格按钮:点击格子进行绘制,也可以按住鼠标左键扫过多个格子连续绘制。
- `Save`:校验并保存到创造模式关卡列表。
- `Back`:返回封面。
关卡 ID:
- 玩家不填写关卡 ID 时,保存后会自动生成短 ID,例如 `C001`。
- 如果关卡 ID 输入框中填写的是普通文本,会作为该自定义关卡的 ID 使用。
- 如果关卡 ID 输入框中粘贴的是 `PBZ1-XXXX-XXXX` 形式的关卡码,点击 `Save` 时不会立刻保存,而是会先把该关卡码加载到编辑器 Grid 中。
- 通过关卡码加载到 UI5 后,尺寸 Slider 会更新为该关卡宽高中的较大值,Grid 会刷新为关卡码中的墙、目的地、箱子和玩家。
- 玩家可以继续修改这个关卡,再次点击 `Save` 才会保存到创造模式关卡列表。
键盘测试:
- `WASD`:移动已放置的玩家。
- `F`:根据当前模式推动或倒拉玩家正前方的箱子。
保存自定义关卡前需要通过校验:
- 必须有且只有一个玩家。
- 至少有一个箱子和一个目的地。
- 箱子数量必须等于目的地数量。
- 玩家和箱子必须位于合法地板格子上。
保存成功后,自定义关卡会出现在关卡选择界面的创造模式列表中。
## 6. 关卡码说明
关卡码用于离线分享玩家自定义关卡。它不需要服务器,也不需要网络连接。
关卡码格式示例:
```text
PBZ1-XXXX-XXXX-XXXX
```
格式规则:
- `PBZ1` 表示 PushBoxz 第 1 版关卡码格式。
- 后续内容只使用大写字母、数字和连字符,方便复制、粘贴和转发。
- 关卡码内置校验码,如果输入错误会导入失败。
关卡码包含:
- 地图尺寸。
- 地形格子。
- 目的地。
- 箱子位置。
- 玩家位置。
关卡码不包含:
- 预制体、材质、音效、字体等本地资源。
- 玩家通关状态。
- 关卡解锁状态。
- 当前游玩过程中的撤销历史或临时状态。
| Published | 22 hours ago |
| Status | Released |
| Platforms | HTML5 |
| Author | inoship studio |
| Genre | Strategy, Puzzle |
| Made with | Unity |
| Tags | Creative, Cult Classic |
| AI Disclosure | AI Assisted, Code, Graphics, Text |

Leave a comment
Log in with itch.io to leave a comment.