位置: 编程技术 - 正文

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

  • 外聘专家发生的差旅费
  • 销售软件税目
  • 工程监理费开什么发票
  • 京东开专用发票需要用公户付款吗
  • 车险退到对公账户会计分录是
  • 每年的第一季度
  • 企业亏损结转年限举例说明
  • 现金日记账本月合计的红线画法
  • 小规模纳税人季度申报
  • 2021新版利润表
  • 行政单位盘盈固定资产应按什么入账
  • 向银行申请签发银行汇票的会计分录
  • 企业将重组债务转为权益工具
  • 应收账款平均占用资金的变动额
  • 建筑业营改增的主要内容
  • 债务重组与资产重组
  • 高新研发费的账务处理怎么做?
  • 购买车间用的材料怎么做分录
  • 递延收益摊销包含哪些
  • 商品进销差价进哪个科目
  • 以前年度记账错误
  • 借主营业务成本贷应付账款
  • 游乐场门票收入发票品目
  • 新版关闭edge地址栏建议
  • Win7系统中如何快速查询文件内容
  • 经营租赁是什么意思
  • 国产linux系统有哪些
  • 行政事业单位临聘人员
  • php获取图片
  • 网络打印机找不到网络路径
  • Windows10开始菜单透明
  • G40/50-70、SR1000随机Linux改安装Win7系统的实现方法
  • 如何进行企业商务谈判
  • 企业支付的贷款计入gdp
  • 不合格的设备怎么处理
  • 采用权益法核算
  • 限定性收入跟非限定性收入的区别
  • opencv.
  • java中文乱码解决总结
  • 单文件php文件列表
  • 美国疫情告急,请求中国医护人员支援,大家怎么看呢?
  • 网络销售平台优势和劣势
  • 报销用别的发票抵用怎么入账
  • 股权转让认缴出资期数怎么填
  • 固定资产清理的账务处理
  • 进项加计抵减对账怎么做
  • 固定资产核算应包括什么
  • 为什么盈利要利息呢
  • 差旅费报销原因
  • 一般纳税人的增值税税率
  • 公司公账转私账违法吗
  • 月销售额不超过15万的免征增值税
  • 广告收入计入哪个科目
  • 生产车间包括什么
  • 公司租赁厂房
  • 本年利润如何记账
  • 担保费能否抵扣增值税
  • 递延所得税资产怎么计算
  • 要约收购的条件和程序具体包括哪些?
  • 本年利润是负数怎么写凭证
  • 专家评审费需要上税吗
  • 银行汇票的适用主体
  • sql注入式攻击中单引号的作用
  • 英雄联盟win8
  • windows7/vista/server(no slic)
  • windows vista界面
  • ubuntu安装mkl
  • winpsd.exe - winpsd是什么进程
  • win10累积更新 卡住
  • netcfg -d
  • 华硕安装win7系统
  • windows8如何关闭杀毒软件
  • jQuery插件能输出到控制台
  • java list和array list区别
  • document对象常用方法
  • python中私有函数调用方法解密
  • 置顶快手作品怎么弄
  • 如何判断python列表长度
  • 个体工商户定期定额核定
  • 工程开具增值税专用发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设