位置: 编程技术 - 正文

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移动方法)

  • 抄税是什么意思谁做的事情
  • 工资中代扣款是什么
  • 季度企业所得税申报表怎么填写
  • 税控盘如何看是否反写成功
  • 个体户经营所得税率
  • 外国公司开发古镇
  • 小规模纳税人税率2023年是多少
  • 房产税原值是否包括土地
  • 如何确定商品交易价格?
  • 房地产企业停止经营后未抵减完的预缴增值税可以退吗
  • 合并报表的抵消分录要做账吗
  • 抵减的增值税如何记账
  • 收到施工方给红包怎样处理
  • 生产质量问题报告怎么写
  • 收到增值税专用发票是已经付款了吗
  • 个人取得投资收益是否缴纳个税
  • 劳务派遣公司如何缴纳残疾人保障金
  • 民办非企业单位是私立还是公立
  • 中药饮片适用增值税税率
  • 季节性停工算作固定资产停止使用吗?
  • 税务行政强制行为遵循的原则
  • 企业股东变更需要哪些手续
  • 工商年度报表怎么打印出来
  • 个体工商户生产经营所得税税率表2021
  • 土地补偿款属于专项资金吗
  • 在建工程和工程物资在资产负债表
  • 简易征收当月已经开出的17%怎么办?
  • 零申报的企业年末的利润表可以为零吗?
  • 仪器购买税率
  • 财务费用错记成管理费用
  • 发票金额小于之前的金额
  • windows缺失
  • MacOS X Yosemite升级后postgresql启动报错的解决办法
  • cyb2k.exe是安全进程吗 cyb2k进程危险吗
  • 贷款房屋评估费怎么收
  • 保险储金是什么意思
  • 继续涉入资产会计处理
  • php正则函数内容匹配
  • 育空河24102
  • 持续ping ip的命令
  • 小客车能用多少年
  • 银行代发工资当天改工资卡来得及吗
  • 长期待摊当期发票怎么开
  • 帝国cms工作流
  • 会计在建工程属于什么科目
  • dedecms51
  • 股东清算收入是负债吗
  • 内帐税金会计分录
  • 企业盈余公积的主要用途是
  • 企业销售收入的确认应具备哪些条件
  • 资本公积含义
  • 公司并购股份如何分配
  • 检测费可以抵扣吗
  • 个体工商户的个税起征点
  • 房租收入怎么确认收入
  • 行政事业单位如何加强预算管理
  • 如何定义是应付还是应付
  • 提前支付利息如何计算
  • 会计工作重点工作
  • 软件开发是否属于采购目录
  • 如何进行企业建账
  • mysql的分页语句
  • mac版cad2022使用教程
  • 联想win8一键还原系统操作步骤
  • mac safari浏览历史
  • win8怎么打开word
  • 短链接生成app
  • ppap是什么文件
  • win8网络设置
  • linux 清除垃圾
  • jQuery实现checkbox即点即改批量删除及中间遇到的坑
  • python字符串处理为年月日
  • 批处理保存文件
  • unity程序基础框架
  • 安卓手机管家
  • 厂房原值如何核定
  • 北京市地方税务局2015第10号文件
  • 广州市公安局分局待遇
  • 新税法折旧年限怎么算
  • 从量定额资源税口诀
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设