位置: 编程技术 - 正文

Unity3D脚本(MonoBehaviour)生命周期分析(Unity3D脚本对预制件无效)

编辑:rootadmin

推荐整理分享Unity3D脚本(MonoBehaviour)生命周期分析(Unity3D脚本对预制件无效),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity游戏脚本教程,Unity3D脚本最先执行的函数,unity脚本模板,Unity3D脚本编程,unity3d4个脚本,Unity3D脚本最先执行的函数,Unity3D脚本对预制件无效,Unity3D脚本编程,内容如对您有帮助,希望把文章链接给更多的朋友!

欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

场景中有2个物体:A,B

每个物体上绑定2个脚本:A,B初始化log:Object : A , Script : B , Message : AwakeObject : A , Script : B , Message : OnEnableObject : A , Script : A , Message : AwakeObject : A , Script : A , Message : OnEnableObject : B , Script : B , Message : AwakeObject : B , Script : B , Message : OnEnableObject : B , Script : A , Message : AwakeObject : B , Script : A , Message : OnEnableObject : A , Script : B , Message : StartObject : A , Script : A , Message : StartObject : B , Script : B , Message : StartObject : B , Script : A , Message : Start特征:1.每次Awake和OnEnable都是连续执行,最后才执行Start2.物体执行顺序是按照字母升序排列,脚本顺序是按照字母降序排列3.先执行完每个物体上的所有脚本,再执行完下个物体上的所有脚本,以此类推。相当于数据库的先group by obj ascending,group by script decending销毁的log:Object : A , Script : A , Message : OnDisableObject : A , Script : B , Message : OnDisableObject : A , Script : A , Message : OnDestroyObject : A , Script : B , Message : OnDestroyObject : B , Script : A , Message : OnDisableObject : B , Script : B , Message : OnDisableObject : B , Script : A , Message : OnDestroyObject : B , Script : B , Message : OnDestroy特征:执行顺序:1.按照唔拍拖的升序排列(ascending)2.对于每个物体上的脚本按照升序排列(ascending),这点是和初始化最大的不同点。3.先执行完一个物体上的所有脚本的disable,再执行该物体上的所有脚本的destroy,然后轮到下一个物体。掌握脚本生命周期直接决定脚本之间的调用顺序,否则很可能出现NPE(null pointer exception)在android 出现NPE还好,一旦iOS出现NPE,就会出现BAD_ACCESS,程序就挂掉了,这点Mono框架做的不是很出色。附:Unity3D脚本(MonoBehaviour)生命周期分析(Unity3D脚本对预制件无效)

AbstractMonoBehaviour.cs

using UnityEngine;using System.Text;public abstract class AbstractMonoBehaviour : MonoBehaviour { protected abstract bool EnableLog { get;} void Start () { Log("Start");} void Awake() { Log("Awake"); } void OnDestroy() { Log("OnDestroy"); } void OnDisable() { Log("OnDisable"); } void OnEnable() { Log("OnEnable"); } protected void Log(object obj) { if (EnableLog) { StringBuilder sb = new StringBuilder(); sb.Append("Object : ").Append(gameObject.name) .Append(" , Script : ").Append(GetType().Name) .Append(" , Message : ").Append(obj); Debug.Log(sb.ToString()); } } }A.csusing UnityEngine;public class A : AbstractMonoBehaviour{ protected override bool EnableLog { get { return true; } }}B.csusing UnityEngine;public class B : AbstractMonoBehaviour{ protected override bool EnableLog { get { return true; } }}

更多精彩请点击

Unity3D 移动MM failed to find resource file{mmiap.xml}解 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d

Unity3d TweenPosition.Begin()的使用浅析 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d

Unity3D 代理的使用及获取两个碰撞器的碰撞点 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d

标签: Unity3D脚本对预制件无效

本文链接地址:https://www.jiuchutong.com/biancheng/372942.html 转载请保留说明!

上一篇:Unity3D 错误nativeVideoFrameCallback的解决方法(unity系统错误)

下一篇:Unity3D 移动MM failed to find resource file{mmiap.xml}解(unity移动方法)

  • 航天税务软件
  • 个体季度申报怎么写
  • 利润总额与毛利的区别
  • 房地产收入成本确认
  • 转让不动产增值税纳税义务发生时间
  • 房屋租赁收入核定征收
  • 银行支付结算工作内容
  • 财务费用做什么明细账
  • 药店药品成本怎么核算
  • 公司持有的房产税
  • 个人经营所得核定征收超过多少要交税
  • 哪些费用可以税后扣除
  • 机动车强制保险新政策
  • 商会会费收入要交所得税吗
  • 企业注册资金需要拿钱出来吗
  • 13个点的发票实际交多少钱
  • 应交增值税是否影响企业利润
  • 年所得12万元以上的纳税人,在纳税年度终了后
  • 企业对外投资需要哪些审批
  • 赞助贫困学生的语句
  • 仲裁委判决还能上诉吗
  • 绿化租赁价格
  • 专家评审费是否需要发票
  • win11任务栏失灵
  • 个人所得税如何办理退税
  • 跨区域涉税事项报告表报验流程
  • filecopyutils.copy上传文件
  • 你需要权限来执行操作是怎么回事
  • 其他暂收和应付账款区别
  • PHP:diskfreespace()的用法_Filesystem函数
  • 固定资产维修费计入固定资产吗
  • 一次性劳务报酬所得如何扣税
  • 谷歌浏览器无法安装
  • 快速上手:华硕路由器的wireguard服务器
  • Vue3+TypeScript+Vite如何使用require动态引入类似于图片等静态资源
  • vscode nasm
  • 前端工程师在大学学什么专业
  • thinkphp如何做微服务
  • chown命令和chmod
  • 公司从银行提取现金4000元备作零星开支
  • springmvc的执行流程
  • 关于酒店采购
  • 抄税前要做什么
  • 公司还款给个人怎么操作
  • mysql命令大全手册
  • 个人所得税减免项目有哪些
  • 差旅费分摊到各部门
  • 预缴增值税需要提供什么资料
  • 进项税和销项税月末怎么结转
  • 汇算清缴退税怎么回事
  • 购进业务:从国内购进生产用原材料
  • 在建工程如何转固
  • 销售货物时发票多开了金额如何处理?
  • 外币折算差额怎么计算
  • 附加税减免政策2020年
  • 费用摊销怎么做分录
  • 电子承兑汇票到期网银上怎么操作
  • 预收租金可以记入成本吗
  • 配置零部件
  • 其他资本公积是利得吗
  • 设置行政机构的主要依据是
  • centos6.10安装教程
  • windows预览版
  • win10 rs5
  • win7桌面卡死无响应
  • 打造安全稳定
  • centos重新安装命令
  • ubuntu20录屏
  • win7 win10 win8
  • win8.1c盘满了怎么办
  • win8如何隐藏任务栏
  • win7电脑关机后自动开机怎么回事
  • textureformat
  • linux中argv
  • ping命令的基本使用方法
  • unity系统错误
  • js两个函数互相调用
  • Android使用HttpURLConnection和HttpClient请求服务器数据
  • checkbox批量删除
  • 税控盘如何下载驱动程序及安全控件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设