当前位置: 首页 > news >正文

济宁网站建设培训夹江发布app

济宁网站建设培训,夹江发布app,wordpress 视频教程,wordpress实现下载功能【Unity】对象池技术 1.简介 对象池#xff08;Object Pooling#xff09;技术是一种用于优化游戏性能和内存管理的技术。 对象池可以用于各种需要频繁实例化和销毁游戏对象的场景#xff0c;例如子弹、敌人、玩家等。其主要目标是减少频繁的内存分配和垃圾回收的次数Object Pooling技术是一种用于优化游戏性能和内存管理的技术。 对象池可以用于各种需要频繁实例化和销毁游戏对象的场景例如子弹、敌人、玩家等。其主要目标是减少频繁的内存分配和垃圾回收的次数提高游戏的运行效率从而提高性能和降低延迟。 在对象池中查找池中隐藏的游戏对象将其显示出来以避免一直实例化新的游戏对象导致游戏性能受到影响。 2.实现 一般地游戏会需要频繁实例化多种预制体所以需要先将每种预制体存在各个小池中接着通过大池进行管理之后直接从大池中拿取和放回。 小池子SubPool代码 using UnityEngine; using System.Collections.Generic;public class SubPool {//预制体private GameObject m_prefab;//父对象private Transform m_parent;//小池中所有存在场景的对象private ListGameObject m_objects new ListGameObject();/// summary/// 构造函数/// /summary/// param nameparent父对象/param/// param nameprefab预制体/parampublic SubPool(Transform parent, GameObject prefab){m_parent parent;m_prefab prefab;}/// summary/// 预制体名字/// /summarypublic string Name{get{return m_prefab.name;}}/// summary/// 生成/// /summary/// returns生成的对象/returnspublic GameObject Spawn(){GameObject go null;foreach(GameObject obj in m_objects){if (!obj.activeSelf){go obj;break;}}if(go null){go GameObject.Instantiate(m_prefab);go.transform.parent m_parent;m_objects.Add(go);}go.SetActive(true);return go;}/// summary/// 是否存在小池中/// /summary/// param namego判断的对象/param/// returns/returnspublic bool Contains(GameObject go){return m_objects.Contains(go);}/// summary/// 回收/// /summary/// param namego回收的对象/parampublic void UnSpawn(GameObject go){if(Contains(go)){go.SetActive(false);}}/// summary/// 回收全部/// /summarypublic void UnSpawnAll(){foreach(GameObject obj in m_objects){UnSpawn(obj);}} }大池子ObjectPool代码 using System.Collections.Generic; using UnityEngine;public class ObjectPool : MonoBehaviour {//存放预制体的文件名public string FileName prefab;//名字-小池子字典private Dictionarystring, SubPool m_pools new Dictionarystring, SubPool();/// summary/// 生成/// /summary/// param namename名字/param/// param nameparent父对象/param/// returns生成的对象/returnspublic GameObject Spawn(string name, Transform parent){SubPool pool null;if(!m_pools.ContainsKey(name)){RegisterNewPool(name, parent);}pool m_pools[name];return pool.Spawn();}/// summary/// 注册新的小池子/// /summary/// param namename名字/param/// param nameparent父对象/paramprivate void RegisterNewPool(string name, Transform parent){string path FileName / name;GameObject go Resources.LoadGameObject(path);if(go ! null){SubPool pool new SubPool(parent, go);m_pools.Add(pool.Name, pool);}else{Debug.Log(未找到 path 的预制体);}}/// summary/// 回收/// /summary/// param namego被回收的游戏对象/parampublic void UnSpawn(GameObject go){SubPool pool null;foreach(SubPool p in m_pools.Values){if(p.Contains(go)){pool p;break;}}if(pool ! null){pool.UnSpawn(go);}}/// summary/// 回收全部/// /summarypublic void UnSpawnAll(){foreach(SubPool p in m_pools.Values){p.UnSpawnAll();}} }因为作者精力有限文章中难免出现一些错漏敬请广大专家和网友批评、指正。
http://www.zqtcl.cn/news/159967/

相关文章:

  • 衡水淘宝的网站建设濮阳市城乡一体化示范区主任
  • 公司网上注册在哪个网站商洛市商南县城乡建设局网站
  • 怎么才能让网站图文展示大连网站建设设计
  • 俱乐部网站 模板seo产品是什么意思
  • 新手学做网站的教学书建造师查询官网
  • win2012 iis添加网站群辉做网站服务器
  • 网站优化课程培训山东网站备案公司
  • top wang域名做网站好事业单位门户网站建设评价
  • 有什么网站可以做简历网站备案表格
  • 网站开发用什么图片格式最好厦门人才网个人会员
  • 关于网站开发的文献深圳网络推广代运营
  • 网站做app的重要性做静态网站有什么用
  • 一键搭建网站系统教做衣服的网站有哪些
  • 城乡建设部网站施工员证书查询中铁建设集团有限公司招标平台
  • 广东省建设项目安全标准自评网站哪个网站可以免费做简历
  • 带产品展示的个人网站模板购物网站开发背景
  • 哪个域名注册网站好seo广告投放是什么意思
  • 网站建设ydwzjs电子邮箱怎么申请
  • 福建省建住房建设部网站wordpress 算数验证码
  • 东莞企业如何建网站网站正在建设中...为什么护卫神
  • 引流用的电影网站怎么做wordpress浏览速度
  • 微信小程序怎拼做搬家网站东莞建网站公司
  • 网站推广昔年下拉博客推广链接制作软件
  • php 小企业网站 cmswordpress导航分类
  • 婚恋网站女孩子都是做美容免费空间最大的网盘
  • 建立网站要钱吗找人做网站需求怎么写
  • 网站建设精品课程电商运营主要负责什么
  • 中职网站建设与维护考试题wordpress商店会员管理
  • 物流网站开发策划做提升自己的网站
  • 网站开发交接做网站首页尺寸大小