位置: 编程技术 - 正文

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

  • 汽车修理公司兼职好做吗
  • 纳税人识别号在哪里能查到
  • 个人所得税缴纳标准税率表
  • 增值税普通发票需要交税吗
  • 土地摊销全部计入成本吗
  • 无进项开票税点
  • 固定资产在现金流量表中的体现
  • 向银行申请签发银行汇票的会计分录
  • 购买的地下室管道多能退吗
  • 如何计算个别资金成本?
  • 当期允许抵扣的农产品进项税额
  • 生产企业固定资产折旧
  • 工会经费支出无效怎么办
  • 境外企业提供国外服务
  • 发现财务人员违法怎么办
  • 开保函会计分录
  • 代理销售保险
  • 小规模纳税人要做固定资产吗
  • 2月发1月工资个税怎么算
  • 职工教育经费列支范围及标准
  • 1697506686
  • 事业单位是否需要章程
  • 税前利润弥补亏损
  • 美元兑人民币分时走势图
  • 其他现代服务包括哪些税目
  • 重置ie浏览器会有什么影响
  • 企业所得税汇算清缴补缴税款分录
  • 无法安装字体,显示字体无效win10
  • 诈骗犯查询
  • mac设置在哪里设置
  • 企业发放职工薪酬属于资金的运用
  • PHP:connection_aborted()的用法_misc函数
  • 如何做好记账会计
  • 旧货回收增值税率是多少
  • 收益类账户借增贷减
  • 公民什么情况纳税
  • 事业单位接受捐赠固定资产入账
  • 会计准则对企业行为的影响分析论文
  • 携程境外电话客服人工电话
  • 买过来的土地可以确权吗
  • chrome安装教程
  • web 自动化测试
  • html5简单小游戏代码
  • 图像的傅里叶变换和离散余弦变换实验报告
  • openai发布企业版
  • 申请开具电子发票
  • 应收帐款质保金
  • 小规模企业增值税税收优惠政策2023
  • 餐饮会计内账怎么记账
  • 租赁房产税计税依据及计算方式是什么
  • 单位组织提供员工服务
  • 收到垫付款计入什么科目
  • 上个月的发票可以作废吗
  • 基本户注销了还能查询流水吗
  • sql语句学习
  • mysql5.7最新版
  • vim入门教程
  • Linux系统磁盘分配
  • win10预览版21301bug
  • xp关闭防火墙命令
  • 用u盘安装ubuntu
  • win10系统打不开jpg图片
  • 电脑关机没反应怎么办出现一个对话框
  • win7双声道
  • windows7开始菜单设置在哪里
  • linux补丁工具
  • win7系统怎么修改开机密码
  • Unable to execute dex: Multiple dex files define Lorg/cocos2dx/lib/Cocos2dxAccelerometer
  • 解决胃胀气最快方法
  • cocos2dx-js
  • 滑动到点击位置的快捷键
  • linux管道定义
  • jquery简单例子
  • node.js开发实战
  • javascript中br
  • 前端开发的工作流程
  • js编写一个标准的单例模式类
  • 税务机关的情况说明
  • 滴灌带设备一套多少钱
  • 零税率,免税不免增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设