Skip to content

LuneVoilee/Runner2D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Runner2D

一个基于 Unity 2D 的横版跑酷原型项目,包含角色移动/跳跃、关卡陷阱与传送、道具收集,以及事件驱动的 UI 流程(开始、选关、暂停、失败、胜利)。

English README

项目概览

  • 引擎版本:Unity 2022.3.57f1c2
  • 场景流程:Begin(开始/选关) -> Scene1 / Scene2(关卡)
  • 输入系统:Unity New Input System(com.unity.inputsystem
  • 核心特点:
    • 角色基础动作:行走、奔跑、跳跃、死亡动画
    • 触发器道具:可收集、致命陷阱、推力机关、平滑传送、胜利点
    • 事件驱动 UI:开始面板、选关面板、暂停面板、失败面板、胜利面板
    • 轻量状态机:自定义 FSM 管理角色动画状态

控制方式

  • A / D:左右移动
  • Shift:奔跑
  • Space:跳跃
  • P:暂停

对应输入定义位于 Assets/InputSystem/PlayerInput.inputactions(生成代码:Assets/Scripts/Input/GeneratedInputActions.cs)。

如何运行

  1. 使用 Unity Hub 打开本项目根目录。
  2. 确保编辑器版本为 2022.3.57f1c2(见 ProjectSettings/ProjectVersion.txt)。
  3. 打开 Assets/Scenes/Begin.unity
  4. 点击 Play 进入游戏:
    • 开始面板 -> 选关面板 -> 进入 Scene1Scene2

游戏流程说明

  • GameEventManager 在运行时触发并广播事件:
    • OnGameStart:显示开始面板
    • OnGameSelect:显示选关面板
    • OnGamePaused:显示/隐藏暂停面板
    • OnGameOver:显示失败面板
    • OnGameWin:显示胜利面板
  • 玩家触发胜利点(CWinner)后会禁用角色控制并触发胜利事件。
  • 玩家触发致命区域(CDeadly)后播放死亡动画,随后触发失败事件。

核心代码结构

角色与动画

  • Assets/Scripts/Character/PlayerController.cs
    • 物理移动、地面检测、跳跃、死亡/重生流程
  • Assets/Scripts/Character/PlayerInputHandler.cs
    • 读取输入并触发暂停事件
  • Assets/Scripts/Character/PlayerAnimationHandler.cs
    • 根据输入和物理状态切换动画
  • Assets/Scripts/Character/States/*.cs
    • Idle / Walk / Run / Jump / Die 状态实现

状态机基础

  • Assets/Scripts/Core/FSM/FSM.cs
  • Assets/Scripts/Core/FSM/StateBase.cs
  • Assets/Scripts/Core/FSM/IState.cs

事件与 UI

  • Assets/Scripts/Core/GameEventManager.cs
    • 全局事件中心,控制游戏流程与背景音乐
  • Assets/Scripts/UI/UIManager.cs
    • 面板实例化与显示管理
  • Assets/Scripts/UI/UIController.cs
    • 订阅游戏事件并切换面板
  • Assets/Scripts/UI/Panels/*.cs
    • 开始、选关、暂停、失败、胜利面板逻辑

关卡道具与交互

  • Assets/Scripts/Items/CAvailable.cs:可收集物品
  • Assets/Scripts/Items/CDeadly.cs:致命陷阱
  • Assets/Scripts/Items/CPushable.cs:推力机关
  • Assets/Scripts/Items/CTransfer.cs:平滑传送
  • Assets/Scripts/Items/CWinner.cs:胜利触发点
  • Assets/Scripts/Items/ItemManager.cs:收集计数管理

About

unity2D跑酷游戏

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors