[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 update
    void Start()
    {
        print("this is scriptA");
    }

    // Update is called once per frame
    void Update()
    {

    }
}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class scriptB : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        print("this is script B");
    }

    // Update is called once per frame
    void 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.mfbz.cn/a/127330.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

传输层中的TCP和UPD协议

一)应用层协议简介:根据需求明确要传输的信息,明确要传输的数据格式; 应用层协议:这个协议,实际上是和程序员打交道最多的协议了 1)其它四层都是操作系统,驱动,硬件实现好了的,咱们是不需要管 2)应用层:当我…

YOLOv8-Seg改进: 分割小目标系列篇 | SPD-Conv,提升分割小目标和弱小分割图精度

🚀🚀🚀本文改进:SPD-Conv由一个空间到深度(SPD)层和一个无卷积步长(Conv)层组成,可以应用于大多数CNN体系结构,特别是在处理低分辨率图像和分割小目标等更困难的任务时。 🚀🚀🚀SPD-Conv 分割小目标检测首选,暴力涨点 🚀🚀🚀YOLOv8-seg创新专栏:http:…

【修车案例】一波形一案例(9)

故障车型:捷豹X-Type 故障现象:发动机故障指示灯点亮,加速时动力不足,扫描工具显示EGR阀和涡轮增压器增压控制位置传感器电路故障 示波器诊断:检测增压控制位置传感器电路的完整性 A通道 - 增压控制执行电机电源电压B通…

docker更改存储目录原因及方案

为什么一定要将docker的存储目录挂载到其他目录 docker在安装时默认存储目录在/var/lib/docker,而该目录是在系统盘下的。docker安装后,会使用各种各样的镜像,动辄几个G,那么如此多的镜像文件,装着装着系统盘就撑爆了…

chrome安装Vue Devtools插件以及无法添加来自此网站的应用问题

chrome安装Vue Devtools插件以及无法添加来自此网站的应用问题 问题背景 Chrome Vue插件是一款可以帮助前端开发人员在浏览器中实时查看和编辑Vue组件和数据的工具。给前端开发人员提供了极大的便利。本文将介绍Chrome浏览器中如何安装Devtools插件。 问题分析 &#xff08…

第五章:人工智能深度学习教程-人工神经网络(第一节-人工神经网络及其应用)

当您阅读这篇文章时,您体内的哪个器官正在思考这个问题?当然是大脑啦!但你知道大脑是如何运作的吗?嗯,它有神经元或神经细胞,它们是大脑和神经系统的主要单位。这些神经元接收来自外界的感觉输入并进行处理…

Elastic Stack 8.11:引入一种新的强大查询语言 ES|QL

作者:Tyler Perkins, Ninoslav Miskovic, Gilad Gal, Teresa Soler, Shani Sagiv, Jason Burns Elastic Stack 8.11 引入了数据流生命周期、一种配置数据流保留和降采样(downsampling) 的简单方法(技术预览版)&#xf…

Milvus Cloud——什么是 Agent?

什么是 Agent? 根据 OpenAI 科学家 Lilian Weng 的一张 Agent 示意图 [1] 我们可以了解 Agent 由一些组件来组成。 规划模块 子目标分解:Agent 将目标分为更小的、易于管理的子目标,从而更高效地处理复杂的任务。 反省和调整:Agent 可以对过去的行为进行自我批评和自我反思…

【深度学习】机器翻译的前世今生

我们都知道谷歌翻译,这个网站可以像变魔术一样在100 种不同的人类语言之间进行翻译。它甚至可以在我们的手机和智能手表上使用: 谷歌翻译背后的技术被称为机器翻译。它的出现改变了世界交流方式。 事实证明,在过去几年中,深度学习…

【JVM】类加载器 Bootstrap、Extension、Application、User Define

以下环境为 jdk1.8 两大类 分类成员语言继承关系引导类加载器bootstrap 引导类加载器C/C无自定义类加载器extension 拓展类加载器、application 系统/应用类加载器、user define 用户自定义类加载器Java继承于 java.lang.ClassLoader 四小类 Bootstrap 引导类加载器 负责加…

工业自动化与5G技术的融合:开启工业4.0时代的新篇章

工业自动化与5G技术的融合:开启工业4.0时代的新篇章 随着全球数字化进程的加速推进,工业自动化作为现代制造业的核心驱动力,正经历着前所未有的变革。而在这一变革中,5G技术的崛起为工业自动化带来了全新的可能性和机遇。本文将探…

Power Automate-时间戳转化为时区时间

点击编辑 在两个步骤之间再插入一个新步骤,添加操作 在内置里点击日期时间 点击转换时区 下面再修改为已转换的时间

景联文科技助力金融机构强化身份验证,提供高质量人像采集服务

随着社会的数字化和智能化进程的加速,人像采集在金融机构身份认证领域中发挥重要作用,为人们的生活带来更多便利和安全保障。 金融机构在身份验证上的痛点主要包括以下方面: 身份盗用和欺诈风险:传统身份验证方式可能存在漏洞&am…

MemcachedRedis构建缓存服务器 (主从,持久化,哨兵)

许多Web应用都将数据保存到 RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。Memcached/redis是高性能的分布式内存缓存服务器,通过缓存数据库查询…

js基础之对象

目录 一、对象定义 二、声明对象:object 三、对象的操作 四、遍历对象 五、渲染表格案例 六、Math内置对象 七、随机函数 八、日期对象 封装时间函数 封装倒计时函数 九、案例 随机⽣成颜⾊的案例 随机点名 一、对象定义 对象 : 对象…

Linux下的环境变量【详解】

Linux下的环境变量 一,环境变量的概念1 概述2 环境变量的分类3 常见的环境变量4 查看环境变量4.1 shell变量4.2 查看环境变量 5 添加和删除环境变量5.1 添加环境变量5.2 删除环境变量 6. 通过代码如何获取环境变量6.1 命令行的第三个参数6.2 通过第三方变量environ获…

Android笔记(十二):结合Compose实现Handler机制处理多线程的通信

在Android应用中常常结合多线程处理多个任务。不可避免,多个线程之间需要数据通信。Hanlder消息处理机制是异步处理的方式之一。通过Handler机制可以实现在不同的线程之间的通信。 一、主线程和工作线程 1.主线程 一个Android的移动应用启动时会单独启动一个进程…

华为认证 | 11月底这门HCIP认证即将发布!

非常荣幸地通知您,华为认证HCIP-Storage V5.5(中文版)预计将于2023年11月30日正式对外发布。为了帮助您做好学习、培训和考试计划,现进行预发布通知,请您关注。 01 发布概述 基于“平台生态”战略,围绕“云…

理解RNN以及模型搭建代码

RNN结构 这是一张不直观易懂的RNN结构示意图。但也是大家见得最多结构示意图。 RNN模型解释 RNN一文就讲解清楚的博客,看这里:https://zhuanlan.zhihu.com/p/408998328 RNN为什么梯度消失和梯度爆炸,看这里:https://zhuanlan.z…