当前位置: 首页 > news >正文

[unity]多脚本情况下update函数的执行顺序

有的时候,执行某些脚本时会有先后顺序的要求。unity是按什么顺序来执行脚本的?如何设置?

默认的执行顺序

官方文档里面有个很长的图:

Unity - Manual: Order of execution for event functions (unity3d.com)

 

根据文档,在单个脚本里,函数的执行顺序是是Awake、Start、Update……

如果用到了多个脚本,就会存在多个Awake,多个Start,这时候应该按什么顺序来?

根据这个网页[1]:

先把所有脚本的Awake执行完,然后再执行所有脚本的Start……

那么,执行所有脚本start的时候,哪个脚本的start先执行?哪个脚本的start后执行?

根据这个网页[2] :

谁的start先执行,谁的start后执行,默认是有一个顺序的。

自定义执行顺序

但是,有的时候,默认的顺序不符合要求,需要自定义,这个怎么做?

比如,存在scriptA和scriptB,内容如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class scriptA : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){print("this is scriptA");}// Update is called once per framevoid Update(){}
}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class scriptB : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){print("this is script B");}// Update is called once per framevoid Update(){}
}

按默认顺序的话,是先B后A:

但是实际使用的时候,需要先A后B,怎么办?如何设置?

打开窗口,点击加号,添加scriptA和scriptB,让scriptA排在scriptB的前面,就可以了。执行的时候,就会先执行A,再执行B了。

再执行,符合预期:

引用链接

[1]        Unity不同脚本之间的执行顺序-腾讯游戏学堂 (tencent.com) 

[2]        设置unity脚本的执行顺序-CSDN博客

相关链接

【Unity3D日常开发】Unity3D中实现不同脚本之间的执行顺序控制_unity update执行顺序-CSDN博客

unity如何手动更改脚本执行顺序_untiy 设置脚本执行顺序-CSDN博客 

http://www.lryc.cn/news/222503.html

相关文章:

  • Maven中<scope>中等级的区别
  • 小明和完美序列(HashMap、Map、Entry)
  • 【hexo博客配置】hexo icarus主题配置
  • 建表时如何合理选择字段类型
  • Qt Creator插件
  • AI全栈大模型工程师(十九)Semantic Kernel
  • Dubbo 的服务请求失败怎么处理?
  • 存储虚拟化讲解
  • [云原生案例2.1 ] Kubernetes的部署安装 【单master集群架构 ---- (二进制安装部署)】节点部分
  • Apache ActiveMQ 远程代码执行漏洞影响范围
  • 如何规划并新建大数据平台的独立生产域?5步走
  • 工程车云管家|叉车智能管家安卓主板方案
  • 大数据学习之Spark性能优化
  • 个人服务器到期,项目下线,新的开始
  • arcgis 网络分析 生成可达范围/等时线
  • npm切换镜像源
  • Python简单学习
  • 2000-2021年全国各省资本存量测算数据(含原始数据+测算过程+计算结果)
  • Vue.js 中的异步组件是什么?
  • Luckysheet 实现excel多人在线协同编辑
  • C++线程库的基本使用(初级)
  • 2023最新版JavaSE教程——第1天:Java语言概述
  • PTL货位指引标签为仓储管理打开新思路
  • IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Maven核心概念
  • Unity的粒子总是丢材质
  • P5906 【模板】回滚莫队不删除莫队
  • 1. Collection,List, Map, Queue
  • rabbitmq 交换机相关实例代码
  • 第四章IDEA操作Maven
  • Go语言函数签名和匿名函数