AssetBundle(五) 关于SceneManager.LoadScene的误解

2023-11-13

上篇 AssetBundle(四) Tolua对接

下篇 AssetBundle(六) 关于PC下用Assetbundle材质丢失的问题解决

SceneManager.LoadScene 是Unity内置的场景加载接口,在UnityEngine.SceneManagement.命名空间下。

这个接口是同步接口,但正因为是同步接口,很容易给人造成误解。接着就会出现奇怪的现象

从一个场景切换到另一个场景用(UnityEngine.SceneManagement.SceneManager.LoadScene)后,然后加载一个prefab,Instantiate这个prefab 后,在场景里看不到, 但Instantiate的对象并不为空。

代码如下:

切换到场景scene_2,加载一个 cube。结果最后场景里没有这个cube。这代码看起来很正常。

这个问题的关键在于加载场景LoadScene是同步,但处理新场景,实例化,初始化新场景不是同步。因此SceneManager提供一了个回调函数sceneLoaded。在回调函数中执行后续的工作,比如加载cube之类。只有在这个回调函数中,才能确保加载新场景的流程已经结束。

public static event UnityAction<Scene, LoadSceneMode> sceneLoaded;

给出正确的代码如下:

这里写的是AssetDatabase接口,Bundle接口也需要类似的处理

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AssetBundle(五) 关于SceneManager.LoadScene的误解 的相关文章

  • python奥特曼代码_【Python】奥特曼VS小怪兽、大战300回合

    上一节 lt gt 上一节我们学了类的基本使用 为了巩固学习 今天继续使用 类 来编程 好好学习 天天打卡 今天我们要研究的是 奥特曼打小怪兽 游戏策划 不要觉得没有用 题目 写出一个 奥特曼 和 小怪兽 类 基本属性有名字 生命值和魔法值
  • 服务的分类

    从技术实现角度和业务角度切入 来梳理服务的类别与层次 1 服务的基本类别 工具 实体和任务 工具服务 标准Api的封装 如JMS JDBC 公共功能区域的提炼 如消息传递 HTTP服务 安全性 非功能性需求的抽取 如拓展性 可用性 以及常见
  • Android Property System

    属性系统是android的一个重要特性 它作为一个服务运行 管理系统配置和状态 所有这些配置和状态都是属性 每个属性是一个键值对 key value pair 其类型都是字符串 从功能上看 属性与windows系统的注册表非常相似 许多an
  • 浅谈深拷贝和浅拷贝的区别

    举例 假设B复制了A 当修改A时 看B是否会发生变化 如果B也跟着变了 说明这是浅拷贝 如果B没变 那就是深拷贝 阐述一下栈堆 基本数据类型与引用数据类型 因为这些概念能更好的让你理解深拷贝与浅拷贝 一 预备知识 两种不同数据类型的值 基本
  • 静态/动态博客Blog框架简介

    简言之 Blog就是以网络作为载体 简易迅速便捷地发布自己的心得 及时有效轻松地与他人进行交流 再集丰富多彩的个性化展示于一体的综合性平台 博客搭建的方式 总体来说 Blog搭建的方式可以分为静态博客和动态博客 顾名思义 静态博客 博文内容
  • css强制一行显示超出的部分显示点点点

    要达到的效果 1 首先盒子应该有固定的宽度 width 200px 2 设置 溢出隐藏 overflow hidden 3 设置文本强制在一行显示 white space nowrap 4 设置文本溢出显示省略号 text overflow
  • js判断多个数组之间是否存在交集

    代码如下 定义一个二维数组 数组中包含N个数组 const arrays 1 2 3 4 5 6 2 7 8 9 10 2 把数组传入进来 function checkIntersection arrays for let i 0 i lt
  • 【小程序】那些年小程序碰过的坑——Scroll-view跳转问题

    序 写到scroll view 就不得不涉及到其中的各个Object属性 但是这个控件本身又很奇特 属性内部经常自相矛盾 着实让人头疼不已 好记性不如烂笔头 记录下来警示自己 也帮助他人 何乐而不为呢 正文 要想Scrolliew进行跳转
  • mat1 and mat2 shapes cannot be multiplied (128x432 and 576x64)的解决

    仅作为记录 大佬请跳过 今天博主在跑大佬博主的pytorch cnn分类mnist数据集的程序 大佬博主文章 第四个网络 出现问题 经过尝试 发现是在定义网络中的问题 将x x view 128 1 改为x x view 1 64 3 3
  • error: struct type mismatch between shaders for uniform (named light)

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一 错误原因 二 排查错误 1 使用glslangValidator exe工具 2 顶点着色器着色器1 vert1Shader vert 顶点着色器着色器2 vert2S
  • 【GD32F427开发板试用】 CAN总线收发测试

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动 更多开发板试用活动请关注极术社区网站 作者 meijing 这篇测试下CAN通信的收发测试 代码使用库例程中修改 硬件部分 测试用到了CAN0 串口0和定时器1 1 gt
  • 【读书笔记】Linux高性能服务器编程(第二篇 第五章)

    第五章 Linux网络编程基础API 5 1 socket地址API 5 1 1 主机字节序和网络字节序 字节序分为 1 大端字节序 一个整数的高位字节 23 31 bit 存储在内存的低地址处 低位字节 0 7 bit 存储在内存的高地址
  • okhttp Retrofit统一处理返回请求 okhttp Retrofit统一处理返回数据

    okhttp Retrofit统一处理返回请求 okhttp Retrofit统一处理返回数据 Gson gson new GsonBuilder serializeNulls create 1 配置创建okhttp客户端 OkHttpCl
  • 《Python核心编程》读书笔记

    第一章 Python对象 1 1 Python对象 Python使用对象模型来存储数据 所有的Python对象都有三个特性 身份 类型和值 身份可以使用内建函数id 得到 类型可以使用内建函数type 查看 1 2 标准类型 数字 整形 I
  • WGS84的理解

    转载 https support virtual surveyor com en support solutions articles 1000261351 what is wgs84 text When 20you 20determine
  • Xilinx AXI VIP使用教程

    Xilinx提供了用于验证AXI相关设计的AXI VIP AXI Verification IP 它可以对自己设计的AXI接口模块进行全方位的验证 如使用VIP的Master Passthrough Slave三种模式对自己写的AXI接口进
  • 宝塔面板登录失败

    这是七月初出现的宝塔面板登录问题 如下 登录界面一直在转圈圈 只是最近两周在写项目和刷算法题 无暇顾及这个问题 现在给出解决方法 2023 07 24午 首先保证网络环境良好 手机热点很不靠谱的 最好是直连路由器 家里的或者学校宿舍的 其实
  • 面板数据实证过程-基于政府补贴对企业研发投入的影响分析

    一 数据来源 国泰安CSMAR 二 数据对象 同花顺BKDC26股票 新能源板块 内所有上市公司 剔除ST及数据缺失的公司 三 年份选取 2016 2019年 四 变量列举 变量表 被解释变量 RDratio 企业研发投入程度 主解释变量

随机推荐