位置: 编程技术 - 正文

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

  • 全国增值税发票服务平台
  • 怎么算固定资产
  • 个人所得税计提和发放分录
  • 税务账是什么意思
  • 增值税小规模纳税人购进货物支付的增值税直接计入
  • 技术服务费怎么算成本
  • 指定会计科目是
  • 销售产品产生的运杂费分录
  • 转让房地产未完工项目增值税发票如何处理?
  • 企业间资金往来 人员派驻
  • 耗材如何入账
  • 税务局多扣的税可以退吗
  • 以公允价值计量且变动计入其他综合
  • 开的是全额发票但是有分包如何做账务处理?
  • 年会费用的会计分录
  • 一般纳税人 开以前的税率
  • 专利申请费用怎么做账
  • 进项税额待转出是什么意思
  • 应交增值税减免税额期末需要结转吗
  • 股东贷款企业贷债务
  • 坏账准备核销和转销的区别
  • 公司的招标代理费计入什么科目
  • 一般纳税人申报表填写顺序
  • 年终汇算清缴怎么计算
  • 平销返利可以作为下期的折扣开票吗?
  • 留用员工培训费怎么入账
  • 销售使用过的固定资产3%减按2%
  • 以前年度费用漏记了怎么办小企业会计准则
  • 期末留抵税额的减值
  • windows10轻松使用是什么
  • 运输业什么进项税抵扣
  • 存出投资款要计入现金流吗
  • 房地产企业将开发产品抵押后再销售
  • win11怎么用户改名
  • PHP:curl_share_close()的用法_cURL函数
  • 月入2万的10个小生意低成本
  • PHP:pcntl_wifsignaled()的用法_PCNTL函数
  • 若依框架是什么框架
  • 企业的民间借贷怎么处理
  • 汽车客运补充车道标志
  • 罚款支出是什么意思
  • 物流公司挂靠会计处理
  • 一般纳税人销售自己使用过的汽车
  • nginx运行python
  • 申请开具电子发票
  • 事业单位一级项目和二级项目区别
  • 认缴出资和注册资本
  • 英文好书推荐
  • 年报和汇算清缴不一致怎么处理
  • 含税与不含税的计算公式
  • 预付开发票加油后还能开吗?
  • 维修费开专票怎么做账
  • 商品流通企业流程图
  • 股东退股如何清算表格
  • 受托代销商品款是什么类账户
  • 购销合同印花税计税依据
  • 劳动保护费是否可以抵扣
  • 应收账款已收回95元
  • 报销餐费属于什么费用
  • 加计抵扣进项税分录
  • 管理费用是负数影响利润表吗
  • 税控系统全额抵扣
  • 事业单位会计制度
  • mysql怎么实现
  • sql语句错误提示
  • ubuntu如何清理垃圾
  • windows设置tomcat自动重启
  • linux更新内核的好处
  • 双系统启动文件
  • newdot.exe - newdot是什么进程 有什么用
  • linux 指定动态库连接位置
  • Metaio in Unity3d 教程---Metaio扫描图片要求(Image Tracking)
  • 网站渗透违法吗
  • Node.js中的全局变量有哪些
  • 环保税按次申报需要交滞纳金吗
  • 江苏省电子税务局社保缴费查询
  • 企业职工病退后一般能领多少钱
  • 黑龙江省税务培训网官网
  • 进口非应税消费品的组成计税价格为
  • 商住两用房出售要交契税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设