一个手感优先的 2D 横版闯关游戏原型。一关 20 屏,约 2~3 分钟,含教学段、难度区与两阶段 Boss。
用 Unity 6.3 LTS(Universal 2D / URP)+ 新输入系统制作。
| 按键 | 功能 |
|---|---|
W A S D |
移动 |
空格 |
跳跃(长按跳更高;空中再按一次是二段跳) |
左 Shift |
冲刺(途中无敌,可以直接穿过敌人) |
鼠标左键 / Enter |
近战挥砍 |
C |
远程弹道(有弹药上限,打空了会慢慢回复) |
E |
弹刀 —— 在被打到前的一瞬间按下,把攻击弹开 |
R |
回到最近的检查点 |
ESC |
暂停 / 操作说明 |
- 手感优先的移动:土狼时间、跳跃缓冲、可变跳跃高度、二段跳
- 冲刺无敌帧:穿过敌人的同时不被撞
- 弹刀:冲锋兵会变红预警,那一瞬间按
E能把它弹飞并反击 —— 挡下冲锋时僵直是普通弹刀的 2.4 倍,还能补一发远程弹药 - 三档难度:玩家血量、敌人血量/速度/伤害、尖刺伤害、远程备弹量、Boss 强度全都跟着变
- 5 个成就:含"不杀任何杂兵通关"和"一命通关"
- 两阶段 Boss:跳砸落地产生向两侧扩散的冲击波,二阶段会召唤小兵
- 手感细节:顿帧、镜头震动、命中火花、受击闪烁、死亡慢动作
Assets/
Scripts/
Player/ 玩家控制器(移动 / 跳跃 / 冲刺 / 远程)
Combat/ 近战、弹刀、弹道、生命值
Enemies/ 巡逻 / 追击 / 冲锋怪、Boss、冲击波
Level/ 关卡生成、检查点、流程控制、难度、成就
Camera/ 像素完美镜头跟随
Utils/ 血条 HUD、音频、精灵动画
Editor/ 一键生成教学关、一键打包
Resources/ Art(像素画)、Audio(音效)
build/ Python 素材生成脚本(地形 / 角色 / 音效)
- 装 Unity 6.3 LTS(
6000.3.x) - 克隆本仓库
- Unity Hub → Add → 选这个目录,等它下载完 Packages
- 打开
Assets/Scenes/SampleScene.unity→ Play
仓库里没有 Unity 的任何二进制文件,Packages 由 Unity 自己下载。原因见 THIRD_PARTY_NOTICES.md。
菜单 Tools → 2D 平台跳跃 → 生成教学关(一键) —— 整个 20 屏关卡由脚本生成,
改数值后重新生成即可。
菜单 Tools → 2D 平台跳跃 → 打包前自检 / 打包 Windows / 打包 WebGL。
目前全部是占位素材:像素画和音效都由 build/ 下的 Python 脚本程序生成。
make_tiles.py— 地形 Tilemake_characters.py— 主角 / 敌人 / Boss 精灵 + 游戏图标make_audio.py— 16 个 8-bit 音效 + 1 段循环 BGM
换正式素材时保持文件名不变直接替换,代码一行都不用改。
代码与素材:MIT(见 LICENSE)
Unity 引擎与官方包不属于本仓库,其授权见 THIRD_PARTY_NOTICES.md。
这是一个练手项目,不是完成品。 已知问题如实列在这里:
- 美术和音频全部是占位素材
- 只有一关(20 屏,约 2~3 分钟)
- 没有设置菜单(音量 / 按键自定义)
- 存档只保留成就和最好成绩,没有关卡进度
重点做的是手感和战斗反馈,不是画面。