Unity跑在Awake之前的方法
Unity跑在Awake之前的方法
一、前言
相信大家和小黑一样,在写项目的时候遇到过以下这中情况:
____两个脚本的Awake中,都有获取信息的函数被调用。可是A脚本在B脚本获取到信息之后,才可以正常执行某个函数,可是B脚本却跑在A脚本之前,这可怎么办呢?
接下来小黑告诉大家几个非常实用的办法!
二、实际操作
方法1:在Unity的Script Excution Order中设置脚本执行顺序
1:找到Script Excution Order并且打开
具体位置:Edit > Project > Script Excution Order ;下面上图

2:在Script Excution Order中设置脚本顺序
在Script Excution Order中,我们把A脚本放到B脚本之前去,这样子就可以解决问题啦。

3:到现在我们的方法1就结束了。
这个解决办法, 还需要我们手动去设置,该是哪一个脚本在前执行。
那还有方法二等着我们去探索!,出发~
方法2:来重点了,写脚本!告诉你们一个跑的比Awake都快的办法!
1:告诉你们一个特性:[RuntimeInitializeOnLoadMethod]
对于这个特性,我相信大部分人还不知道呢,所以我要把它分享出来,以后大家一起用;
为什么我说它比Awake还快呢,是因为我在看到后做了测试,所以我要把测试也分享出来~
①:我们编写带Awake的脚本,它是继承着MonoBehaviour,并且需要挂在物体上
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test0 : MonoBehaviour
{
void Awake()
{
print("Awake快");
}
}
②:编写带 [RuntimeInitializeOnLoadMethod] 的脚本,它可以不用继承MonoBehaviour
且要记住,我们用的是:
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test1
{
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
static void Function()
{
Debug.LogError("RuntimeInitializeOnLoadMethod快");
}
}
③:我们启动程序:

铛铛铛铛~!
看到结果了吧,跑的比Awake都快,小伙伴你们Get到了么
方法3:Reset
根绝官方提供的生命周期表中官方链接,有一个函数Reset,在Awake的上边,不过小黑公司用的是Unity5.6.1,我还没做测试。。这个就由大家去测试吧,测试结果记得告诉小黑一声;

至此,小黑今天的分享就要结束啦,我们明天见
!!
!!
帅哥or美女,请等一下,有个事请忘了和你说了,呢个(扭捏中~~~~~~~给小黑点个赞呗 )
什么?你需要优化? Unity项目优化——Web版
啥?你需要和后台对接加载?Unity打包资源,后台加载
程序的道路上学习永不停止,探索随时进行。
Let’s go. Just do it. We can.
好了客官,点个赞再走吧~~~
Unity跑在Awake之前的方法的更多相关文章
- Unity中让Update中的方法执行一次
Unity中让Update中的方法执行一次 Unity中,很多时候,代码需要放在Update中时刻监测状态,一旦状态符合,又只需要代码执行一次:其实可以通过设置控制量的方式,让代码只执行一次:方法:设 ...
- Unity、c#中的拓展方法讲解
很早以前看过这个东西,但是没有真正的用到过,希望之后会用到上面的方法, 大概的意思是这样的c#中尤其在用Unity的时候,已有的框架提供给我们一些固定的方法,但是有时我们想对这些方法进行修改, 这时我 ...
- Tip8:Unity中诸如 Awake() Start() Update()等函数的 执行顺序
Unity脚本中有很多的事件函数,下面是各种函数的执行顺序: 1.reset(); 2.Awake(); 3.OnEnable; 4.OnLevelWasLoaded(); 5.Start(); 6. ...
- 使用Unity拦截一个返回Task的方法
目标 主要是想为服务方法注入公用的异常处理代码,从而使得业务代码简洁.本人使用Unity.Interception主键来达到这个目标.由于希望默认就执行拦截,所以使用了虚方法拦截器.要实现拦截,需要实 ...
- Unity3d不支持vistual studio2012?用vs2012打开unity c#脚本进行编码的方法。
unity3d是支持vs2010的,但是有很多开发者反应,unity3d中的C#脚本不能用vs2012打开.我想了一下,先进入存放C#脚本的目录,在设置里面C#文件的打开方式,选择用vs2012打开, ...
- Unity中使物体自动寻路的方法
在做一个FPS游戏时,需要敌方自动找到玩家方位并向玩家移动,在查找资料(并走了不少坑)后,我试了三个方法,经测试,这三个方法都能实现自动寻路功能. 方法一:使用Mathf.Lerp()方法 代码很简单 ...
- [Unity WWW] 跨域访问解决方法
什么是跨域访问 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation).信任关系是连接在域与域之间的桥梁.当一个域与其他域建立了信任 ...
- RF实现多次失败重跑结果合并的基础方法和优化方法
实现思路:通过分次执行失败案例重跑,然后通过结果文件合并命令实现多次失败重跑结果文件的合并,并输出合并后的log和report文件: 说明:具体失败案例重跑命令和结果文件合并命令请参考本博客其他相关章 ...
- 【Unity笔记】Awake()和Start()的区别
Awake在MonoBehavior创建后就立刻调用,Start将在MonoBehavior创建后在该帧Update之前,在该Monobehavior.enabled == true的情况下执行. v ...
- C#正则表达式引发的CPU跑高问题以及解决方法
3月23日(周日)下午16:30左右,博客园主站负载均衡中的2台Web服务器CPU玩起了爬楼梯的游戏(见上图),一直爬到了接近100%.发现这个状况后,我们立即将这2台阿里云临时磁盘云服务器从负载均衡 ...
随机推荐
- Oracle收集统计信息的一些思考
一.问题 Oracle在收集统计信息时默认的采样比例是DBMS_STATS.AUTO_SAMPLE_SIZE,那么AUTO_SAMPLE_SIZE的值具体是多少? 假设采样比例为10%,那么在计算单个 ...
- 关于Redis的,你了解多少?来看看我的笔记
Redis 概述 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据 ...
- 使用DOS命令运行JAVA项目
使用DOS命令运行JAVA项目 找到生成项目的文件夹: 在地址前加上cmd+空格,进入命令窗口: 输入javac 类的名称.java,生成class文件: 输入java 类的名称: 运行成功:
- Https Webservice接口的免证书调用
目录 前言 思路 方案 Axis调用 HttpClient调用 参考链接 前言 在调用https协议的Webservice接口时,如果没有做证书验证,一般会报javax.net.ssl.SSLHand ...
- Training: WWW-Robots
原题链接:http://www.wechall.net/challenge/training/www/robots/index.php 打开网页他给我们说什么 说什么这是一个小挑战,你将会了解到机器人 ...
- Cesium-03:洪水淹没
Cesium-01:Vue 中基础使用 Cesium-02:飞机模型简单点对点飞行 Cesium-03:洪水淹没 前言 最开始想做洪水淹没的话,查了一些资料.又基于不同的实现的,如 ArcScene ...
- tp6 requset获取参数的方式
第一种:获取全部参数的值 request()->param() 1 第二种:获取排除某些字段的值,即获取其他值 request()->except(['serverToken','logi ...
- 在Cloudreve网盘系统中集成kkFileView在线预览(暂时)
服务器:WindowsServer 2016 Cloudreve 需求方想整一个在小团队内部使用的网盘系统,最终在千挑万选之下选中了Cloudreve. Github地址:https://github ...
- 使用PyLint分析评估代码质量
什么是PyLint PyLint是一款用于评估Python代码质量的分析工具,它诞生于2003年,其最初十年的主要作者和维护者是Sylvain Thénault.PyLint可以用来检查代码是否错误. ...
- 现代 CSS 高阶技巧,完美的波浪进度条效果!
本文是 CSS Houdini 之 CSS Painting API 系列第三篇. 现代 CSS 之高阶图片渐隐消失术 现代 CSS 高阶技巧,像 Canvas 一样自由绘图构建样式! 在上两篇中,我 ...