位置: 编程技术 - 正文

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

  • 委托加工物资的成本包括哪些内容
  • 小规模纳税人开普票要交税吗
  • 价外费用含税吗
  • 交易性金融资产是什么意思
  • 出差补贴计入
  • 购买方已抵扣怎么作废
  • 所得税本期需要结转吗
  • 买二手设备还需要备案吗
  • 按月按季申报
  • 补交的增值税可以从留抵里面扣嘛
  • 公司代收代付会被监控吗
  • 已销售未开票怎么记账
  • 营改增对建筑业的影响有哪些
  • 延期付款利息是多少钱
  • 企业购买汽车时需要交哪些税?
  • 年底开发票需要交企业所得税吗?
  • 企业交税的钱用在哪里
  • 个体工商户税收怎么算
  • 出售房产收入计入什么科目
  • 小规模纳税人贷款利息收入增值税税率
  • 酒店产权式经营业主取得的收入按股利红利所得
  • 已付款收到发票但没有做计提凭证
  • mac苹果电脑系统
  • 主营业务收入平均增长率计算例题
  • 激进型和保守型筹资组合怎么判断
  • 有限责任公司出资方式有哪些
  • 加班工资算补贴么
  • 教你如何正确选择轮胎
  • Win10 20H2 LSASS.exe自动重启故障已得到修复
  • 交易性金融资产是什么意思
  • PHP:Memcached::setMulti()的用法_Memcached类
  • 代开增值税发票沒有付款怎么做账?
  • 工业企业制造费用核算范围
  • php 错误提示
  • php mysql_list_dbs()函数用法示例
  • php字符串的三种定义方式
  • php use关键字
  • 损失函数是什么
  • 外账和内账哪个比较有发展
  • 企业销售旧车增值税处理
  • 季度是指
  • 培训费个人的发票能开吗
  • 返还教育费附加、地方教育费附加代征手续费的请示
  • 企业应付职工薪酬
  • 房子是固定资产的好处
  • 递延收益为什么是递延所得税资产
  • 一般纳税人企业所得税怎么征收
  • sql server恢复
  • 股东权益合计等于净资产吗
  • 统一机构信用代码最后一位校验码
  • 坏账准备的账务处理会计分录
  • 年终奖政策,提成怎么算
  • 印花税申报成功未扣款还能更正吗
  • 其他综合收益的二级科目有哪些
  • 银行证书费入什么科目
  • 母子公司可以合并吗
  • 如何科学设置运动负荷
  • 查看mysql执行sql日志内容
  • mysql数据库简单介绍
  • MySql 5.7.17 winx64的安装配置详细教程
  • win7小技巧
  • win7怎么清除记录
  • win8系统如何激活
  • 清除windows10登录密码
  • 32位与64位操作系统怎么区分从32位和64位的概念上进行讲述
  • xp系统下载SCSI硬盘的安装、启动、设置教程
  • win10系统怎么管理开机启动项
  • 老旧的诗琴五个琴谱大全
  • windows8.1控制面板
  • linux中shell脚本编写
  • 用vue写登录页面
  • angular keyup
  • node-js
  • pythonjam怎么用
  • js中改变css文件中的样式
  • jQuery easyUI datagrid 增加求和统计行的实现代码
  • 广西电子发票如何申请
  • 重庆税务信息采集如何操作
  • 企业完税证明怎么打印
  • 商品房开超市
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设