说到做游戏,游戏的优化就至关重要,今天所说的就是关于游戏优化的一种方式——对象池技术。
对象池技术的主要应用于游戏中反复利用的游戏资源(比如:子弹,技能特效,怪物等等)
对象池的具体思想:
将使用过的资源(会反复利用的)存储到池子中,下次需要的时候直接去池子中取出来。
第一步:构建对象池
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 对象池 所有池子都在字典里 字典里存的是单个池子的List
/// </summary>
public class GameObjectPool: MonoBehaviour
{
/// <summary>
/// 单利
/// </summary>
private static GameObjectPool instance;
/// <summary>
/// 获得单利
/// </summary>
public static GameObjectPool Instance
{
get
{
if (!instance)
{
instance = new GameObject("_Pool").AddComponent<GameObjectPool>();
//设置在场景加载中不销毁对象池
DontDestroyOnLoad(instance.gameObject);
}
return instance;
}
}
/// <summary>
/// 所有池子的字典
/// </summary>
Dictionary<string, List<GameObject>> _PoolDic=new Dictionary<string, List<GameObject>>();
/// <summary>
/// 获得池子中的对象
/// </summary>
/// <param name="name">对象的