位置: 编程技术 - 正文

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

  • 怎么计提坏账准备到本年利润
  • 本年利润怎么结转分录
  • 金融类企业
  • 已付工资在资产负债表中体现
  • 加计扣除进项税账务处理
  • 发票勾选后什么时候可以抵扣税
  • 专用发票压线了可以拒收吗
  • 购买信息技术服务费摘要怎么写
  • 增值税降到16个点什么时候实行
  • 计入当期损益的利得
  • 如果当月有未记账的凭证,系统不可以结账
  • 公司购电缆用于生产如何记账?
  • 营业外收入是否报增值税
  • 定额发票去年的能用吗
  • 发票票种核定怎么提交
  • 小规模纳税人补缴增值税
  • 银行账户设置数大于纳税人向税务机关提供数
  • 按季申报是什么意思
  • 商超联营扣点
  • 垫付资金成本
  • 网上申领发票怎么清卡
  • 软件企业收到即征即退分录
  • 小规模季报资产总额填错了有影响吗
  • 民间非营利组织会计报表
  • Win11不支持鼠标宏
  • win10系统出现蓝屏恢复
  • 一次性计提折旧的政策
  • 方正电脑u盘启动按什么键
  • 一个非常好看的中秋礼物怎么做
  • PHP:pg_last_error()的用法_PostgreSQL函数
  • PHP:finfo_file()的用法_fileinfo函数
  • 如何批量清理桌面
  • 深度学习之GPU显存与利用率 浅析小结
  • 个人账户存储额是缴费总和
  • 开源项目有什么用
  • unplugin-auto-import/vite
  • 小微企业开通社保
  • 为什么递延收益不产生所得税影响
  • 哪些服务可以开具经纪代理服务发票
  • 红字更正法和红字冲销的区别
  • 冲以前年度成本分录
  • 资产负债表中应交税费为负数是什么意思
  • 一般纳税人和小规模
  • 单位交的那部分医保去哪了
  • 应交增值税如何计算,如何进行会计处理
  • 登记会计账簿的实训总结
  • 异地预缴税款多交了有影响吗
  • 个体户定额3万需要申报吗
  • 企业处置子公司
  • 银行承兑汇票套利案例
  • 合并报表抵消分录的基本原理
  • 商品周转天数计算方法
  • 已经认证的进项票销售方冲红了
  • 公司聚餐做什么科目
  • 高速公路车辆通行卡没还怎么办
  • 小企业会计准则和企业会计准则的区别
  • 长期股权投资减值准备是什么意思
  • 什么是盈余公积和资本公积的区别
  • sql2000 sql2008
  • Windows下MySQL5.7.18安装教程
  • mysql5.5改密码
  • mysql explain的用法(使用explain优化查询语句)
  • 关于国际学校
  • win10系统升级后c盘满了
  • ubuntu虚拟机与windows共享文件
  • linux中ps命令详解
  • win7中文显示问号
  • koeidsnd.dll
  • win7小技巧
  • win8键盘失灵怎么办
  • win8怎么系统重装系统
  • Win8.1 32位和64位有什么区别 Win8.1 32位和64区别详细介绍
  • pyinstaller指定python2
  • js如何打印服务器图片
  • android 加载更多
  • unity she
  • angularjs常用总结
  • android源码下载地址
  • 怎么知道税控盘有没有注销
  • 长春国税局科员工资是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设