位置: 编程技术 - 正文

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留美学生签证
  • 没有营业收入要报税吗
  • 债权投资损失准备
  • 固定资产台账登记表明细科目写什么
  • 企业亏损情况下股东借款怎么办
  • 税友每年还要交年费?
  • 代理进口货物怎么做账
  • 非流动资产处置净收益是指什么
  • 个人给单位垫付的款怎么做账
  • 原始股东减持要交多少税
  • 备注栏需要写内容嘛
  • 押金少退侵犯了哪条法律
  • 建筑行业挂靠开票怎么做账务处理?
  • php定时执行代码
  • 房地产企业结转收入企业所得税处理
  • 企业发生的与日常经营活动无直接关系的各项利得
  • LangChain与大型语言模型(LLMs)应用基础教程:信息抽取
  • 工具合集
  • controller层,service层,dao
  • chattr i
  • 什么叫相机标定
  • 建筑行业工程结算属于什么科目
  • 出差补助费用
  • 林场苗圃工作有哪些
  • 以下哪些企业需要填报
  • 受托代销的分录
  • 职工教育经费申报表如何填写
  • 培训发票税点
  • js中定义变量关键词是
  • mongodb4
  • 织梦logo
  • 白条怎么收拾
  • 审核后的凭证
  • 代宰 增值税
  • 水利基金可以不计提吗
  • 报表怎么报送
  • 小规模不动产租赁要交哪些税
  • 可供出售金融资产的会计处理
  • 政府补助是否可以抵扣
  • 增值税销项税的借贷方向
  • 公司减免的社保退给个人吗
  • 建筑安装主要做什么
  • 现金冲账是什么意思
  • 企业发生的各项罚款收入应计入
  • 固定资产的印花税费计入什么科目里
  • 少交税款滞纳金
  • 本年利润在借方表示什么意思
  • 技术服务费发票怎么开
  • 销项负数发票是红字发票吗
  • 银行利息增值税发票申请单怎么填
  • 开广告费用要交增值税吗
  • 营改增题目
  • 固定资产收到专票怎么做账
  • 商业折扣的会计分录
  • 来料加工企业的辅助材料自购怎开销售发票
  • 短期薪酬主要包括
  • mysql 临时表
  • windowsxp教程
  • 挂载光驱的命令
  • OpenSolaris 6/06 DVD版本
  • 怎样一键重装
  • linux ...
  • 双系统麻烦吗
  • win10系统功能大全
  • 控制数值颜色
  • 深入浅出jquery
  • python的math模块只有pass
  • bootstrap和css的关系
  • python中的set方法
  • jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
  • 金税全国客服电话
  • 预征率为2%预征税额怎么算
  • 税收分类分级管理是什么
  • 登录上海电子税务局单位社保查询不到当月未交的
  • 湖南省电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设