位置: 编程技术 - 正文

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

  • 职工薪酬支出及纳税调整
  • 小规模多计提增值税税率
  • 固定资产登记在三栏式吗
  • 代扣代缴附加税减免
  • 资产负债表里的存货包括哪些科目
  • 分公司成立时的法人是谁
  • 收到退款如何做账
  • 参与工会职工应享受哪些福利待遇
  • 差旅费包括哪些明细
  • 进项较大航天信息怎么填
  • 给员工交的重大医疗保险怎么做分录?
  • 双倍余额递减法考虑净残值吗
  • 小微企业减半征收城建税
  • 专用发票报销时限
  • 发票专用章管理办法
  • 企业发票税收编码是什么
  • 汽车修理费需要交印花税吗
  • 免征增值税企业所得税纳税调整
  • 小微企业免税销售额填含税还是不含税
  • 北京增值税纳税申报表在哪里打印
  • 已出账但未认证的抵扣联怎么办?
  • 增值税申报表附表一填表说明
  • 招标需要交保证金吗
  • 借主营业务成本贷应付账款
  • 物流公司进项票多了,可以帮人开票吗
  • 支票作废了需要什么材料
  • led电子屏税收编码
  • 代理报关费0税率
  • thinkphp yii
  • 免租期租金可以追回吗
  • 购货方获得现金折扣的会计分录怎么写
  • 什么是所得税收入
  • Fort Rock Valley Historical Homestead博物馆,俄勒冈 (© Prisma by Dukas Presseagentur GmbH/Alamy)
  • 蜻蜓翅膀特写怎么画
  • 实名办税人员承担什么责任
  • html爱心代码简单
  • linux写c++程序
  • nodejs安装及环境配置win7
  • Vue3入门笔记----登录功能
  • 计算机视觉算法
  • 帝国cms适合建什么站
  • 宝塔怎么做?
  • 分页浏览是什么意思
  • 接手前往年的银行余额不平怎么办?
  • mysql5.7.32安装
  • 应收票据到期后账务处理
  • 如何处理预付和预付差异
  • 总公司签合同开票分公司做业务分公司如何确认收入?
  • 个人所得税进一步改革方向
  • 个人独资企业是不是个体工商户
  • 进项大于销项的会计分录怎么做?
  • 广告制作费怎么入账
  • 企业亏损所得税处理
  • 产品不符合要求
  • 无形资产出售时累计摊销为什么在借方
  • 零余额账户怎么对账
  • 合伙企业是什么组织形式
  • 服务外包离岸业务是什么
  • 货物破损怎么写会计分录
  • 内部交易内部交易收益造成的当期折旧的多计额
  • 被投资企业注销,确认投资损失需
  • 香港公司账户收美元要交税吗
  • 职工福利费核算哪些内容
  • 账簿设置方法
  • 怎么怎么恢复
  • sqlserver批处理
  • mysql jdbc
  • mysql指定查询
  • mac怎么玩电脑游戏
  • centos中如何安装软件
  • win8 开机
  • win8怎么设置
  • win7系统电脑蓝牙怎么开
  • javascript 表格
  • jquery使用教程
  • 命令行创建虚拟机
  • android入门基础知识
  • 如何理解税收制度的含义
  • 上饶税务局电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设