项目素材及部份工程文件出自Unity中文课堂 (u3d.cn)
Unity Edition:2019.4.3(LTS)
Play it Online:BombGuy - Unity Play
-
WebGL Publisher
-
Advertisement
-
手机端触屏控制插件
-
使用 Rule Tile 按自定规则绘制地图
- 五种敌人,行为逻辑相同,技能不同
- 五个关卡(最后一关BOSS关)
- 玩家角色(移动、跳跃、受击、死亡、跳跃FX、落地FX、跑动FX)
- 场景中包含可互动的多种环境物体
- 通往下一关卡的门
- UI Manager、Game Manager
- 暂停按钮、暂停菜单
- 游戏结束菜单
- 开始菜单
- 玩家角色Health Bar
- BOSS Health Bar
- 安卓端触摸按键
public abstract class EnemyBasState //有限状态机
{
public abstract void EnterState(Enemy enemy);
public abstract void OnUpdate(Enemy enemy);
}
- state : int
- attack : trigger
- hit : trigger
- skill : trigger
- dead : bool
- Base Layer
- Attack Layer
- Dead Layer
使用state
切换layer
:
- 当
state=1
时敌人正在Move to Target
,state=0
时正在等待idle
动画结束,从而实现敌人到巡逻点后停滞一个idle动画的长度 - 当
state=2
时转换到Attack Layer
,此Layer权重为1,完全覆盖其他Layer动画
public class GameManager : MonoBehaviour
{
public static GameManager instance; //单例模式
public void Awake()
{
if (instance == null)
instance = this;
else
Destroy(gameObject);
}
...
}
//调用单例模式
GameManager.instance.XX;
记录数据