Unity3D PoolManage
2015-09-24 09:10
423 查看
主要参考资料: /article/7716427.html
在代码中主要是这样使用的,
1. 初始化
SpawnPool dogFacePool = PoolManager.Pools.Create("Dogface", this.gameObject);
2. 需要创建实例的时候
<1>如果目前还没有对应的实例
Transform dogFacePrefab;
PrefabPool prefabPool = new PrefabPool(dogFacePrefab);
dogFacePool.CreatePrefabPool(prefabPool);
<2> 现在就可以真正创建实例了
Transform inst;
inst = dogFacePool.Spawn(m_prefabDic[resPath], pos, rot);
3. 当要释放实例的时候
dogFacePool.Despawn(obj.transform);
4. 缓冲池里面的对象active变为true和false时,触发的事件(此脚本悬挂在缓冲池对象上):
主要参考资料: /article/7716427.html
在代码中主要是这样使用的,
1. 初始化
SpawnPool dogFacePool = PoolManager.Pools.Create("Dogface", this.gameObject);
2. 需要创建实例的时候
<1>如果目前还没有对应的实例
Transform dogFacePrefab;
PrefabPool prefabPool = new PrefabPool(dogFacePrefab);
dogFacePool.CreatePrefabPool(prefabPool);
<2> 现在就可以真正创建实例了
Transform inst;
inst = dogFacePool.Spawn(m_prefabDic[resPath], pos, rot);
3. 当要释放实例的时候
dogFacePool.Despawn(obj.transform);
4. 缓冲池里面的对象active变为true和false时,触发的事件(此脚本悬挂在缓冲池对象上):
private void OnSpawned(SpawnPool pool) { Debug.Log ( string.Format ( "OnSpawnedExample | OnSpawned running for '{0}' in pool '{1}'.", this.name, pool.poolName ) ); } private void OnDespawned(SpawnPool pool) { Debug.Log ( string.Format ( "OnSpawnedExample | OnDespawned unning for '{0}' in pool '{1}'.", this.name, pool.poolName ) ); }
相关文章推荐
- Unity 资源打包Assetbundle
- Unity各个文件夹的编译顺序
- unity官方教程space shooter 学习文档
- Unity3D中数学知识之【1】:SmoothDamp平滑阻尼
- unity5 AssetBundleBuild用法
- Unity3D模仿《魔兽世界》的第三人称角色控制器
- Unity3D基于帧管理器的移动管理器
- Unity3D 延时执行函数StartCoroutine
- 帧事件管理器
- 5.0后版本的AssetBundle 使用
- Unity游戏编程之开篇
- unity C# NGUI控件寻路径方法
- unityShader前篇之光照模型
- Unity3D-重新编译Mono加密DLL
- Unity中WayPoint路点的配置
- 在Unity中使用Newtonsoft.Json来生成和读取json
- 在Unity中使用Newtonsoft.Json来生成和读取json
- Unity3D:spine使用
- Unity3D中uGUI事件系统简述及使用方法总结
- Unity技巧2