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

网站 项目方案网站建设品

网站 项目方案,网站建设品,怎样写企业网站建设方案,几年前备案的网站现在网站不在了备案号还在吗目录 基本流程 1.代码思路 2.代码实现 最终效果 补充知识点 1.序列化 2.委托 基本流程 现在在切换场景后,场景中的物品即使被拾取了,也还是会被重新加载出来,所以本篇文章的任务是在切换场景前后能保留当前场景的数据 1.代码思路 (1)为了保留处在地上的物品数据,就需要…目录 基本流程 1.代码思路 2.代码实现 最终效果 补充知识点 1.序列化 2.委托 基本流程 现在在切换场景后,场景中的物品即使被拾取了,也还是会被重新加载出来,所以本篇文章的任务是在切换场景前后能保留当前场景的数据 1.代码思路 (1)为了保留处在地上的物品数据,就需要保存物品的坐标,以及这个物品是什么,所以在卸载场景之前读取要卸载的场景中的物品都有什么,重新加载场景的时候,按照之前的进度把物品再生成出来 (2)创建一个存储数据的字典,这个字典需要把场景的名字和物品的信息存储在一起,由于一个场景里有多个物品,那么就需要一个列表来保存 2.代码实现 新增和修改ItemManager.cs的代码 private Dictionarystring, ListSceneItem sceneItemDict new Dictionarystring, ListSceneItem();private void OnEnable() {EventHandler.InstantiateItemInScene OnInstantiateItemInScene;EventHandler.BeforeSceneUnloadEvent OnBeforeSceneUnloadEvent;EventHandler.AfterSceneLoadedEvent OnAfterSceneLoadedEvent; }private void OnDisable() {EventHandler.InstantiateItemInScene - OnInstantiateItemInScene;EventHandler.BeforeSceneUnloadEvent - OnBeforeSceneUnloadEvent;EventHandler.AfterSceneLoadedEvent - OnAfterSceneLoadedEvent; }private void OnBeforeSceneUnloadEvent() {GetAllSceneItems(); }private void OnAfterSceneLoadedEvent() {itemParent GameObject.FindWithTag(ItemParent).transform;RecreateAllItems(); }/// summary /// 获得当前场景所有Item /// /summary private void GetAllSceneItems() { ListSceneItem currentSceneItems new ListSceneItem();foreach (var item in FindObjectsOfTypeItem()){SceneItem sceneItem new SceneItem{ itemID item.itemID,position new SerializableVector3(item.transform.position)};currentSceneItems.Add(sceneItem);}if (sceneItemDict.ContainsKey(SceneManager.GetActiveScene().name)){//找到数据就更新Item数据列表sceneItemDict[SceneManager.GetActiveScene().name] currentSceneItems;}else //如果是新场景{sceneItemDict.Add(SceneManager.GetActiveScene().name, currentSceneItems);} }/// summary /// 刷新重建当前场景的物品 /// /summary private void RecreateAllItems() {ListSceneItem currentSceneItems new ListSceneItem();if (sceneItemDict.TryGetValue(SceneManager.GetActiveScene().name, out currentSceneItems)){if (currentSceneItems ! null){//清场foreach (var item in FindObjectsOfTypeItem()){Destroy(item.gameObject);}foreach (var item in currentSceneItems){Item newItem Instantiate(itemPrefab, item.position.ToVector3(), Quaternion.identity, itemParent);newItem.Init(item.itemID);}}} } DataCollection新增可序列化坐标和场景中的物品 [System.Serializable] //可序列化的坐标 public class SerializableVector3 {//坐标 public float x, y, z;public SerializableVector3(Vector3 pos){this.x pos.x;this.y pos.y;this.z pos.z;}public Vector3 ToVector3(){ return new Vector3(x,y,z);}public Vector2Int ToVector2Int(){return new Vector2Int((int)x, (int)y);} }[System.Serializable] public class SceneItem {public int itemID;public SerializableVector3 position; } 对调TransitionManager中呼叫加载场景之后的事件以及场景淡出效果的顺序 private IEnumerator Transition(string sceneName, Vector3 targetPosition) {//呼叫卸载场景之前要做的事EventHandler.CallBeforeSceneUnloadEvent();yield return Fade(1);yield return SceneManager.UnloadSceneAsync(SceneManager.GetActiveScene());yield return LoadSceneSetActive(sceneName);//移动人物坐标EventHandler.CallMoveToPosition(targetPosition);//呼叫加载场景之后的事件EventHandler.CallAfterSceneLoadedEvent();yield return Fade(0); } 最终效果 拾取物品切换场景后,场景中的物品并不存在 补充知识点 1.序列化 序列化,简单来说就是将对象转化为可传输的字节序列的过程叫做序列化, 这里的对象指的任意脚本或Unity文件, 可以将对象转换为字节序列后,存储在数据库,内存或者文件中          我通过这个视频了解的 2.委托 虽然在该专栏里的其他文章中补充过该知识,但是该视频是我遇到过的把委托讲的最通透的 因此再次提出并记录在这个文章中 视频在这  up主的其他视频也非常高质量,推荐观看
http://www.hkea.cn/news/14358023/

相关文章:

  • 做网站博客怎么推广wordpress打开错误
  • 成都网站建设服务有什么如何更换网站模板
  • 沈阳做网站营销方式有哪几种
  • 做美股的数据网站长沙网站设计公司排名
  • 要想做一个好网站需要多久一线品牌全屋定制排名
  • 临沂城市建设网站建站备案
  • 中国建设银行网站是什么企业网站的建设目的有什么
  • 咋做211校徽加网站网站加ico图标
  • 专用车网站建设价格手机优化设置
  • 怎样设计卖奖的网站图片设计制作
  • 那里有制作网站企业吉林省建设监理协会网站诚信建设
  • 淘宝买网站开发不行吗php和mysql做租车网站
  • vps 建网站 代理做商业网站赚钱吗
  • 建视频网站中关村网站建设
  • 德州专业网站开发公司引擎搜索对人类记忆的影响
  • 旅游网站建设价格中企动力北京总部地址
  • 国内出名网站建设设计公司免费二维码制作
  • 门户网站建设多久交流平台网站怎么做
  • 订阅号上链接的网站怎么做的wordpress 模板 html5
  • 网页制作的一般流程有哪些中山网站seo优化
  • 网站建设需求表模板需要网站建设的是哪一类人
  • vs html5网站开发wordpress4.8发布
  • 深圳市专业做网站网站策划怎么做内容
  • 南昌微信网站建设查工程中标信息哪个网站
  • 网站建设前台和后台设计wordpress新建分类目录
  • 郧阳网站建设易优建站
  • 珠海高端网站建设公司定制床需要多少钱
  • 注册网站显示lp或设备超限怎么办用jsp做网站的技术路线
  • 做网站哪家最好WordPress网络超时
  • 网站建设的目的及目标嘉兴网站建设方案服务