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

华容网站定制如何做企业网页

华容网站定制,如何做企业网页,电子商务网站建设的基本流程,用自己照片做衣服_杯子的是哪个网站对象池模式经常用在频繁创建、销毁对象(并且对象创建、销毁开销很大)的场景。对象池模式管理一个可代替对象的集合。组件**从池中借出对象,用它来完成一些任务并当任务完成时归还该对象**。 被归还的对象接着满足请求,不管是同一个组件还是其他组件的请求…
	对象池模式经常用在频繁创建、销毁对象(并且对象创建、销毁开销很大)的场景。对象池模式管理一个可代替对象的集合。组件**从池中借出对象,用它来完成一些任务并当任务完成时归还该对象**。
被归还的对象接着满足请求,不管是同一个组件还是其他组件的请求。对象池模式可以管理那些代表的现实资源
或者通过重用来分摊昂贵初始化代价的对象。一般通过字典(Dictionary)来存储
using System.Collections;
using System.Collections.Generic;
using UnityEngine;namespace ns
{public interface IResetable{void OnReset();}///<summary>//////</summary>public class GameObjectPool : MonoBehaviour{private Dictionary<string, List<GameObject>> cache;private void Awake(){cache = new Dictionary<string, List<GameObject>>();}//public GameObject CreateObject(string key, GameObject prefab, Vector3 pos, Quaternion dir)//{//    //在池中查找禁用的物体//    GameObject go = null;//    if (cache.ContainsKey(key))//        go = cache[key].Find(o => !o.activeInHierarchy);//    if (go != null)//    {//        go.transform.position = pos;//        go.transform.rotation = dir;//        go.SetActive(true);//    }//    else//    {//        go = Instantiate(prefab, pos, dir);//        if (!cache.ContainsKey(key)) cache.Add(key, new List<GameObject>());//        cache[key].Add(go);//    }//    return go;//}/// <summary>/// 使用对象池创建对象/// </summary>/// <param name="key">对象种类</param>/// <param name="prefab">对象预制件</param>/// <param name="pos">位置</param>/// <param name="dir">旋转</param>/// <returns></returns>public GameObject CreateObject(string key, GameObject prefab, Vector3 pos, Quaternion dir){//1. 在池中查找可以使用的对象GameObject go = FindUsableObject(key);//2. 如果没有找到,则创建再加入池中。if (go == null){go = Instantiate(prefab);Add(key, go);}//3.使用对象UseObject(pos, dir, go);return go;}private void UseObject(Vector3 pos, Quaternion dir, GameObject go){go.transform.position = pos;go.transform.rotation = dir;go.SetActive(true);//go.GetComponent<Bullet>().CalculateTargetPosition();//go.GetComponent<IResetable>().OnReset();//遍历物体中所有需要重置的脚本foreach (var item in go.GetComponents<IResetable>()){item.OnReset();}}private void Add(string key, GameObject go){if (!cache.ContainsKey(key)) cache.Add(key, new List<GameObject>());cache[key].Add(go);}private GameObject FindUsableObject(string key){//字典如果存在当前记录,则在集合中查找禁用的物体if (cache.ContainsKey(key))return cache[key].Find(o => !o.activeInHierarchy);return null;}/// <summary>/// 立即回收/// </summary>/// <param name="go"></param>public void CollectObject(GameObject go){go.SetActive(false);}/// <summary>/// 延迟回收/// </summary>/// <param name="go"></param>public void CollectObject(GameObject go,float delay){StartCoroutine(DelayCollect(go, delay));}private IEnumerator DelayCollect(GameObject go, float delay){yield return new WaitForSeconds(delay);CollectObject(go);}public void Clear(string key){//释放游戏对象foreach (var item in cache[key]){Destroy(item);}//移除键cache.Remove(key);}public void ClearAll(){//Bug 1:异常 -- 无效的操作List<string> keyList = new List<string>(cache.Keys);foreach (var item in keyList){//遍历集合  移除字典记录Clear(item);} }//Bug 2 : 子弹不能沿枪的正前方发射 //解决方案:每次通过对象池创建对象,都调用IResetable接口方法,达到逻辑(计算目标点)重置的目的。}
}
http://www.lbrq.cn/news/2556217.html

相关文章:

  • 网站制作容易吗软件推广
  • 个人注册公司费用简述seo的优化流程
  • 怎样做企业的网站广州市口碑seo推广外包
  • 手机有软件做ppt下载网站有哪些内容国外网页模板
  • 江门网站建设开发广州seo优化外包公司
  • 成都专业网站制作多少钱企点qq
  • 做网站的镜像是什么意思网站百度权重查询
  • 品牌型网站建设方案模板免费下载网站
  • 有哪些做平面设计好的网站有哪些500强企业seo服务商
  • 新乡网站制作2345浏览器下载安装
  • 微站是什么网络营销案例
  • 怎么做网站链接的快捷方式广西百度seo
  • 湖南响应式网站建设费用站长网站统计
  • 天津做app和网站的公司网站建设教程
  • 校园局域网站建设费用效果好的东莞品牌网站建设
  • 苏州建行网站首页太原网站排名推广
  • 徐州免费建站模板抖音seo查询工具
  • 小说盗版网站怎么做的让手机变流畅的软件下载
  • 网站的新闻栏与产品栏如何做seo建站营销
  • 德州网站建设推广价格长春网站优化哪家好
  • wordpress显示多页选项快速seo排名优化
  • 做MAD生肉网站怎么让百度搜索靠前
  • 商务网站欣赏佛山网站建设十年乐云seo
  • php网站只能打开首页网络营销促销方案
  • 泉州3d建模培训威海seo
  • 哈尔滨网站建设费用如何优化网络环境
  • soso网站提交入口云优化seo软件
  • 文化部网站总分馆建设实施意见万网域名交易
  • 信阳市工程建设信息网站网站关键词优化排名推荐
  • 怎样将视频放在网站里做seo网站优化价格
  • 分布在背侧海马体CA1区域的位置细胞(place cells)对NLP中的深层语义分析的积极影响和启示
  • 从0开始学习R语言--Day64--决策树回归
  • 使用 whisper, 音频分割, 初步尝试,切割为小块,效果还不错 1
  • 24黑马SpringCloud安装MybatisPlus插件相关问题解决
  • C#线程同步(三)线程安全
  • SpringBoot与Rust实战指南