位置: 编程技术 - 正文

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

  • 超过500万需要补税吗
  • 税务机关的义务是依法征管
  • 进口增值税如何入账
  • 财务记录软件
  • 主营业务是家电吗
  • 辞退福利是指
  • 设备采购及安装属于工程还是货物
  • 房地产企业售楼降价法律条文
  • 对公走账是什么意思
  • 资产负债和所有者权益三要素反映企业的
  • 预收账款有余额是啥原因
  • 个人兼职取得的收入和退休人员再任职取得的收入
  • 工业企业购进货物进项税额抵扣的时限
  • 其他扣款税后应该怎么做账?
  • 开票系统维护费每年都要交吗
  • 材料暂估价结算调整规定
  • 周转材料低值易耗品怎么摊销
  • 化妆品消费税是从价还是从量
  • 高档化妆品消费税的计算公式
  • 小规模纳税人纳税申报时间
  • 工程储备的材料是存货吗
  • 银票贴现需要发票嘛
  • 怎么限制路由器使用人数
  • mac怎么访问路径
  • 宽带连接错误651是什么意思
  • 社保费税前扣还是税后扣
  • 企业的营业外收入要交增值税吗
  • 固定资产转让的账务处理
  • thinkphp yii
  • citespace分析derwent
  • 二级资本债向谁发行
  • 什么是长期股权投资法
  • 库存现金盘亏处理流程
  • 阳光穿透云层是什么效应
  • php获取当前时间戳函数
  • 简单聊聊太平天国
  • 目标检测tricks
  • 2023前端面试题目
  • 深度学习分析NASA电池数据(1 数据读取)
  • 政府补贴收入确认政策
  • 结转销售成本的凭证需要附件吗
  • 年末应交税费怎么算
  • php访问mysql数据库函数
  • 3分钟学会做蛋挞
  • 劳务派遣业务的特点
  • 送礼的烟酒去哪里买
  • 企业所得税核定管理办法
  • 预付账款和应付账款怎么合并
  • 印花税技术合同包括什么
  • 知道收入不知道成本
  • 小规模纳税人适用什么会计准则
  • 小规模纳税人减按1%怎么计算
  • 公交公司财政补贴
  • 管理费用处理的是
  • 用美元账户余额怎么用
  • 股权转让 会计
  • 试运行成本会计分录
  • 银行本票的使用仅限于
  • mysql5.6免安装版配置
  • mysql join实现原理
  • sql server删除重复数据保留一条
  • 如何下载苹果图书
  • 未知文件怎么删除
  • centos 启动gnome
  • win8 开始
  • win10预览在哪里
  • win7系统怎么关闭病毒防护
  • react组件写法
  • 逆向教程推荐知乎
  • nodejs 请求
  • 举例简介三国演义人物塑造的主要手法
  • python import os
  • HTTP状态代码以及定义(解释)
  • android布局文件详解
  • 国家税务局总局官网
  • 河南省地方税务局电话
  • 陕西省国税务局大企业处长邓谷祥简历
  • 痛点 堵点 难点 盲点
  • 北京劲松附近租房信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设