Unity 之 AfterFixedUpdate,在所有 GameObject FixedUpdate 后执行
目的
FixedUpdate 在不同的 GameObject 互相之间是没有执行顺序的,我们并不能知道哪个 GameObject 先执行 FixedUpdate。
但是,有的时候我们仍然希望某个 GameObject 在其他所有 GameObject 执行 FixedUpdate 之后能执行一个指定的函数。
思路
(图1)
观察上图 Unity 生命周期(片段)中 Physics 部分。FixedUpdate 后,执行了 yield WaitForFixedUpdate,然后进行物理更新。
我们发现,可以尝试用协程实现。
实现 AfterFixedUpdate
1、创建一个 C# 脚本,命名为 TryAfterFixedUpdate,代码如下
using UnityEngine;
using System.Collections; public class TryAfterFixedUpdate : MonoBehaviour
{
[SerializeField]
string text; int a = ; void FixedUpdate ()
{
a++;
Debug.Log (string.Format ("FixedUpdate {0} {1}", a, text));
StartCoroutine (AfterFixedUpdate ());
} IEnumerator AfterFixedUpdate ()
{
Debug.Log (string.Format ("AfterFixedUpdate {0} {1}", a, text));
yield return new WaitForFixedUpdate ();
Debug.Log (string.Format ("AfterYield {0} {1}", a, text));
} }
2、创建两个空的 GameObject,分别命名为 A B
3、将 TryAfterFixedUpdate 脚本分别拖放到 A 和 B 上,并设置 text 分别为 "a" 和 "b"

(图2)
4、执行脚本,我们得到了如下结果。可见,成功实现了我们的目的

(图3)
Unity 之 AfterFixedUpdate,在所有 GameObject FixedUpdate 后执行的更多相关文章
- spring boot 配置启动后执行sql, 中文乱码
spring.datasource.schema指定启动后执行的sql文件位置. 我发现中文乱码,原因是没有指定执行sql script encoding: spring: datasource: u ...
- ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作
ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作 .操作成功后刷新父页面 $this->assign('jumpUrl', "javascript:wi ...
- 当spring 容器初始化完成后执行某个方法
在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查. 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出 ...
- ready是先执行的,load后执行,DOM文档的加载步骤
在jq中在文档载入完毕后有这几种方式去执行指定函数: $(document).ready(function() { // ...代码... }); //document ready 简写 $(func ...
- Inno Setup入门(十一)——完成安装后执行某些程序
Inno Setup入门(十一)——完成安装后执行某些程序 2011-02-16 16:24:23| 分类: Inno Setup | 标签:inno setup |举报 |字号 订阅 ...
- windows_phone指定时间后执行函数
开发windows phone 应用程序时需要在一段指定的时间后执行某些函数,于是乎想到了通过DispatcherTimer类来实现,再在.Tick后面添加自己想要的事件 DispatcherTime ...
- WebView点击加载的页面中的按钮时不弹出新窗口以及在加载后执行javascript
mWebView.setWebViewClient(new WebViewClient() { //点击网页中按钮时,在原页面打开 public boolean shouldOverrideUrlLo ...
- 设置N秒后执行某个方法或函数
设置N秒后执行一个函数,最常用的是设置一个定时器,今天刚看到有这样一个函数,感觉还是比较简单实用的,就先记下来,免得忘记了. 5秒后执行pushSecondController这个函数 [self p ...
- PageSlider中CSS3动画在除首屏之外先加载页面后执行动画的问题
PageSlider中CSS3动画在除首屏之外先加载页面后执行动画的问题,PageSlider中加入CSS3动画的话,默认只有首屏是从无到有执行动画,其他屏都是显示下页面再执行动画 这就造成其他屏的动 ...
随机推荐
- 微软雅黑 firefox Css 设置 font-family: "microsoft yahei","\5FAE\8F6F\96C5\9ED1","宋体";
font-family: "microsoft yahei","\5FAE\8F6F\96C5\9ED1","宋体"; // 这里用引 ...
- 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.2
/** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...
- Peeking Iterator 解答
Question Given an Iterator class interface with methods: next() and hasNext(), design and implement ...
- 微信iOS WKWebview 网页开发适配指南
微信iOS客户端将于2017年3月1日前逐步升级为WKWebview内核,需要网页开发者提前做好网站的兼容检查和适配. 背景 WKWebView 是苹果在iOS 8中引入的新组件,目的是提供一个现代的 ...
- 【bzoj1031】[JSOI2007]字符加密Cipher
题目描述 喜欢钻研问题的JS同学,最近又迷上了对加密方法的思考.一天,他突然想出了一种他认为是终极的加密办法:把需要加密的信息排成一圈,显然,它们有很多种不同的读法.例如下图,可以读作:JSOI07 ...
- 沃通tomcat jks 安装配置
废话不多说上代码: <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtoc ...
- 重写TextView,实现圆形背景,文本居中显示
最近,在做考试试题排版,产品提出题号希望显示成圆形背景,序号文本居中显示. (有点问题:文本没有绝对居中,暂时没做处理.) 为此,我采取的方式是重写TextView的onDraw方法,绘制一个圆形背景 ...
- E - The King
Description Once upon a time in a country far away lived a king and he had a big kingdom. He was a v ...
- (原)matlab中使用mex编译多个cpp文件
以前一直是mex一个文件.刚才需要编译多个文件(如a.cpp调用b.cpp的函数,b.cpp调用c.cpp的函数).如果只是mex a.cpp,提示函数找不到函数. 突然想到mex c.cpp b.c ...
- Java程序读取tomcat下的properties配置文件
代码如下: //找到tomcat/etc/wx文件夹 private static String getPropFolderPath() { /* Properties p = Syst ...