发布网友 发布时间:2022-04-27 05:16
共1个回答
热心网友 时间:2022-06-26 19:44
关于Unity的架构有如下几种常用的方式。1.EmptyGO在Hierarchy上创建一个空的GameObject,然后挂上所有与GameObject无关的逻辑控制的脚本。使用GameObject.Find()访问对象数据。缺点:逻辑代码散落在各处,不适合大型项目。2.SimpleGameManager所有与GameObject无关的逻辑都放在一个单例中。缺点:单一文件过于庞大。3.ManagerOfManagers。将不同的功能单独管理。如下:MainManager:作为入口管理器。EventManager:消息管理。GUIManager:图形视图管理。AudioManager:音效管理。*PoolManager:go管理(减少动态开辟内存消耗,减少GC)。缺点:(1)不能管理prefabs。(2)没有进行分类。更好的实现方式是将一个PoolManager分成:若干个SpawnPool。每个SpawnPool分成PrefabPool和PoolManager。PrefabPool负责Prefab的加载和卸载。PoolManager与之前的PoolMananger功能一样,负责GameObject的Spawn、Despawn和Trim。要注意的是:(1)每个SpawnPool是EmeptyGO。(2)每个PoolManager管理两个List(Active,Deactive)。讲了一堆,最后告诉有一个NB的插件叫PoolManager--。*LevelManager:关卡管理。推荐插件:MadLevelManager。GameManager:游戏管理。