我是靠谱客的博主 拉长马里奥,最近开发中收集的这篇文章主要介绍设计模式-对象池,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

大量预制的创建与销毁会带来很大性能的不必要消耗,利用对象池可以有效的减少此类问题


  1. 一个池子用来放置物体与存取物体
  2. 取物体的方法
  3. 放物体的方法

使用UnityEngine;
使用System.Collections;
使用System.Collections.Generic;
公共类GameObjectPool:MonoBehaviour {
List <GameObject> pools = new List <GameObject>();
private GameObjectPool(){} //单例模式
私人静态GameObjectPool实例;
public static GameObjectPool GetInstance(){
if(instance == null){
instance = new GameObject(“GameObjectPool”)。AddComponent <GameObjectPool>();
}
返回实例;
}
//取物体的方法
public GameObject Get(GameObject name){
        //没有则实例化新的
if(pools.Count == 0){
作为GameObject返回实例化(名称,Vector3.zero,Quaternion.identity);
}其他{
//取出对象池里面的第一个元素
GameObject obj = pools [0];
obj.SetActive(真);
pools.Remove(OBJ);
返回obj;
}
}
//放物体的方法
public void Put(GameObject name){
name.SetActive(假);
pools.Add(名称);
}
}

最后

以上就是拉长马里奥为你收集整理的设计模式-对象池的全部内容,希望文章能够帮你解决设计模式-对象池所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部