位置: 编程技术 - 正文

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

  • 投资款要不要交企业所得税
  • 公司交房租没有开票能记账?
  • 赠送的商品怎么缴纳增值税
  • 房改房增值税
  • 进口小汽车消费税组成计税价格
  • 自产的产品无偿赠送职工
  • 其他综合收益是利润表项目吗
  • 社保补缴上月的在当月扣款
  • 印花税零申报怎么填样本
  • 发票最大限额999元,超过了怎么办
  • 2016年红冲发票流程
  • 规范合同签订的重要性
  • 发票分票怎么处理违章
  • 应付账款收不到账怎么办
  • 计提房租的原始凭证包括
  • 低值易耗品与固定资产有相同的特征,表现在哪里?
  • 库存商品淘汰报告模板
  • 仓库收料作业指导书
  • 利润表的以前年度损益调整影响利润总额吗
  • 人力资源管理师考试时间
  • 支付职工培训费的现金流量项目
  • 制造费用的低值易耗品包括哪些内容
  • 赔绿化损失费的法律依据
  • 专设销售机构的各项经费应列支什么科目
  • 如何修复错误 OC3 INVT CHF100a
  • 安装虚拟windows
  • vue高级函数
  • 字节在互联网什么地位
  • iscsiadm命令详解
  • vmware workstation pro怎么卸载干净
  • mysql 服务器配置
  • php判断https
  • 刘亦菲生日当天发素颜照
  • mac os x10.9.5
  • 出口发票已经抵扣认证怎么办
  • 出库单可以自制吗
  • 企业结售汇业务需要做什么
  • 社保缴费是当月扣当月的吗
  • 所得税费用期末结转吗
  • 金蝶专业版数量金额明细账设置
  • 高新技术企业三季度申报所得税研发费加计怎么扣除
  • mongodb查询操作
  • 原材料发生退货怎么处理
  • 超市购物小票可以入账吗
  • 2019年印花税减半征收条件
  • 销售货物提供运输服务分录
  • 该商品不可进行有物流发货
  • 技术服务费发票怎么开
  • 小规模附加税减半征收什么时候开始
  • 排污费计入管理费用吗
  • 开出普票会计分录
  • 税收奖励账务处理
  • 产品成本核算方法受那些因素影响
  • sqlserver查看磁盘大小
  • sql server 2000安装包
  • win8.1 开机进桌面
  • arp攻击的原理及防范
  • centos6安装yum源
  • ubuntu服务器命令
  • macbookair如何恢复系统
  • ahqtb.exe是啥进程 ahqtb进程信息查询
  • 收不到windows的验证码
  • windows7怎么禁用网络
  • win10开机6秒
  • 32/64位Win10预览版11102(中英日韩等)多国语言包官方iso镜像下载大全
  • WIN10补丁白屏
  • 同步数据和异步数据的区别
  • javascript闭包函数
  • jQuery使用ajax方法解析返回的json数据功能示例
  • 什么叫懒加载
  • node.js怎么搭建服务器
  • 简要说明javascript的作用
  • javascript数据
  • js的iframe
  • 安卓源代码开放吗
  • 代码实现死锁
  • 移交税务稽查的条件标准
  • 银元面值有哪些种类
  • 2020年山东录取人数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设