Unity3D StartCoroutine 调用一个函数,该函数什么时候返回?

2024-06-19

我知道Unity3D StartCoroutine调用了一个与StartCoroutine在同一线程上运行的函数,但是被调用的函数什么时候返回到原始调用者?


我在互联网上查找了一个很好的 Unity3D Coroutine 示例,但找不到完整的示例。有一个很好的解释 http://unitygems.com/coroutines/由 UnityGems 提供,但即使他们的示例也是不完整的。所以我写了自己的例子。

This:

using UnityEngine;
using System.Collections;
public class MainCamera: MonoBehaviour {
  void Start () {
    Debug.Log ("About to StartCoroutine");
    StartCoroutine(TestCoroutine());
    Debug.Log ("Back from StartCoroutine");
  }
  IEnumerator TestCoroutine(){
    Debug.Log ("about to yield return WaitForSeconds(1)");
    yield return new WaitForSeconds(1);
    Debug.Log ("Just waited 1 second");
    yield return new WaitForSeconds(1);
    Debug.Log ("Just waited another second");
    yield break;
    Debug.Log ("You'll never see this"); // produces a dead code warning
  }
}

产生以下输出:

About to StartCoroutine
about to yield return WaitForSeconds(1)
Back from StartCoroutine
Just waited 1 second
Just waited another second
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity3D StartCoroutine 调用一个函数,该函数什么时候返回? 的相关文章

  • Boost 错误代码参考

    有谁知道在哪里可以找到升压错误代码的参考 特别是 异步套接字处理程序返回的错误代码 Google 和 grep 头文件已调为空 我从 Linux 上的 asio error hpp 中提取了错误值 顺便说一句 我仅使用标头 asio 而不是
  • 如何防止函数中的隐式转换?

    我正在编写一个实用程序类 其中包含 IsEquals 和 IsGreaterThanEquals 等接受 double 类型参数的方法 当我将浮点值发送到方法时 它们会隐式转换为双精度值并进行比较 我不希望这种事发生 当我发送 float
  • C++ 构造函数根据参数类型调用另一个构造函数

    我有这门课 class XXX public XXX struct yyy XXX std string private struct xxx data 第一个构造函数 使用结构 很容易实现 第二 我可以将一个字符串以特定的格式分开 解析
  • 委托 System.Action 不接受 1 个参数

    那个行动 readonly Action execute public RelayCommand Action execute this execute null public RelayCommand Action execute Fun
  • 使用 C 序列化 double 和 float

    如何在 C 中序列化双精度数和浮点数 我有以下用于序列化短整型 整数和字符的代码 unsigned char serialize char unsigned char buffer char value buffer 0 value ret
  • 安装/编译 pylzma(lzma python 绑定)

    我已经向作者提出了这个问题website http www joachim bauch de projects pylzma comment page 1 comment 5211 但我想我也可以在这里问 我一直在尝试使用以下设置安装 py
  • 从 pdf 和 word 文件中提取文本

    如何在 C 中从 pdf 或 word 文件中提取文本 删除粗体 图像和其他富文本格式媒体 您可以使用专为索引服务设计 由索引服务使用的过滤器 它们旨在从各种文档中提取纯文本 这对于在文档内部进行搜索非常有用 您可以将其用于 Office
  • 具有 Nhibernate 设计问题的领域模型

    我正在尝试进入 DDD with C 世界 我使用NHibernate作为我的ORM工具 因此尝试开发一个PI Persistence Ignorance 模型 但是 在我的一些实体 表示为 POCOS 中 我的属性设置器中有业务规则 例如
  • gcc 的错误?模板类中友元函数的访问控制问题

    我有一个模板类 并在类中定义了一个友元函数 include
  • 更改 Json 中属性的键

    这些天我正在尝试制作一个 json 编辑器 与树视图一起使用 我确实更改了值函数 我也可以更改一些键 但我无法在对象中设置键 我可以设置值 SetValue ref JObject main JToken token JToken newV
  • 文件已创建但无法写入

    我的计划 检查Settings txt 文件 如果该文件不存在 则创建文本并自动写入其中 如果 Settings txt 文件已存在 请忽略 不要创建或写入现有文件 我的问题 当文件不存在时 Settings txt 文件会创建 但它是空的
  • 对指针列表进行排序

    我再次发现自己在 C 中的一些非常简单的任务上失败了 有时我希望我能从 Java 中的 OO 中学到所有知识 因为我的问题通常是从像 Java 一样思考开始的 无论如何 我有一个std list
  • llvm clang 编译器上的dynamic_cast失败

    我看到一个奇怪的失败dynamic cast正在返回NULL在 clang 编译器上 但相同的代码可以在 gcc 环境下运行 您能否指出根本原因是什么 之间可能有什么区别dynamic cast关于 llvm 和 gcc 我正在使用两个编译
  • OpenFileDialog 中的多个文件扩展名

    如何在一组中使用多个文件扩展名OpenFileDialog 我有Filter BMP bmp GIF gif JPG jpg PNG png TIFF tiff 我想创建组 以便 JPG 为 jpg 和 jpeg TIFF 为 tif 和
  • 从高斯分布中采样随机值的最快方法是什么?

    The Box Muller 变换 http en wikipedia org wiki Box E2 80 93Muller transform 是一种从高斯分布中采样随机值的优雅且性能合理的方法 我正在寻找一种用 C 编写 清晰的更快方
  • 设置了 OFN_ALLOWMULTISELECT 标志的 GetOpenFileName()

    我正在尝试使用 GetOpenFileName 通用对话框调用来弹出打开对话框并允许用户选择多个文件 我设置了 OFN ALLOWMULTISELECT 标志 并设置了 OFN EXPLORER 因此我得到了 新样式 文件选择框 当我设置
  • Pythonlibs3 CMake 和 macOS

    更新2 将以下两行添加到我的 CMake 文件中时 成功找到了 python 3 及其库 这只在终端中工作的原因是因为 CLion 使用其捆绑版本的 CMake 3 6 3 而我的终端使用的更新版本 3 7 2 正确找到了 python F
  • 如何在 C 中将 int 和数组保存在共享内存中?

    我正在尝试编写一个程序 让子进程在 Linux 上相互通信 这些进程都是从同一个程序创建的 因此它们共享代码 我需要它们能够访问两个整数变量以及一个整数数组 我不知道共享内存是如何工作的 我搜索过的每一个资源除了让我困惑之外什么也没做 任何
  • TPL架构问题

    我目前正在开展一个项目 我们面临并行处理项目的挑战 到目前为止没什么大不了的 现在来说说问题 我们有一个 ID 列表 我们定期 每 2 秒 为每个 ID 调用一个 StoredProcedure 需要单独检查每个项目的 2 秒 因为它们是在
  • SQlite 查询 - 如何检索多列数据?

    我很难在网上找到一个关于使用 xcode 和 cocos2dx 从 SQlite DB 获取多个值的工作示例 这是我的sql查询 char sql query 100 sprintf sql query SELECT FROM SQList

随机推荐

  • 获取请求的客户端 IP 地址而不是 Cloudflare 的 IP 地址

    Cloudflare 会更改传入请求的 IP 地址 因为 Cloudflare 是我的网站和互联网之间的中间件 代理 我该怎么办获取请求的初始IP地址 而不是 Cloudflare 的 IP 地址 我听说过mod cloudflare但是这
  • 使用 JQuery 选择表行并选中复选框

    我有一个表 我想选择满足我的条件的行并选中它们各自的复选框 假设我想获取带有日期的行2013 03 21 我怎样才能使用 JQuery 来做到这一点 table tr td Record1 td td 2013 03 21 td td td
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • 将 value 转换为 bool 的魔法

    今天我意识到将值转换为 bool 是一种魔法 int value 0x100 unsigned char uc static cast
  • 通过eclipse运行ant找不到环境变量,但是通过终端运行ant就可以了

    当我通过 Eclipse 运行 ant 时 一些目标构建得很好 但那些需要特定环境变量 即我在 profile 文件中设置的 SOME SDK 的目标将无法工作 即使我尝试回显 env JAVA HOME Ant 通过 eclipse 也只
  • 如何使用 iOS 可达性

    我正在开发一个使用网络的 iPhone 应用程序 iPhone 通过 HTTP 请求与我的服务器通信 并且应该可以在 WiFi 和 3G 上运行 我目前使用NSURLConnection initWithRequest向我的服务器发送异步请
  • PHP - 当 false 时获取 bool 来回显 false

    以下代码不会打印出任何内容 bool val bool false echo bool val 但下面的代码打印1 bool val bool true echo bool val 有没有更好的打印方法0 or false when boo
  • 防止 FragmentPagerAdapter 中的 WebView 重新加载?

    我有一个 FragmentPagerAdapter 用于显示大约 6 个选项卡 所有选项卡都从 Web 服务器加载数据 其中一个选项卡包含一个从我的服务器加载图像的 WebView 生成图像的服务器端成本很高 因此我想减少重新加载 WebV
  • ASP.NET MVC 3 - microsoft-web-helpers v1.1 的问题

    我从 nuget 升级了我的 microsof web helpers 软件包 它本身依赖于 facebook 和 twitter API 现在 当我的应用程序尝试运行时 出现以下错误 编译器错误消息 CS0246 找不到类型或命名空间名称
  • 将数组转换为具有默认值的对象的更简洁方法? (洛达什可用)

    我有一个数组 比如说 a b c 我想将其转换为一个对象 该对象以数组值作为键和我可以设置的默认值 所以如果默认值是true 我希望我的输出是 a true b true c true 下面的代码是否有更简洁的版本来实现此目的 var my
  • 核心数据迁移后出现 NSRangeException

    在向我的应用程序添加新的核心数据模型版本后 我执行了轻量级迁移 显然成功了 迁移的文件加载正常 但在第一次尝试通过特定关系访问属性时 应用程序崩溃并显示NSRangeException NSArrayM objectAtIndex inde
  • 使用 HttpClient 的 .NET Core SPNEGO 身份验证

    我目前正在编写一个简单的基于 NET Core 的客户端 用于通过 WebHCat 与 Hadoop 集群进行交互 并且我正在尝试弄清楚如何使用 SPNEGO 进行身份验证 就像在curl 或 Powershell Core 等中一样 使用
  • 未知属性:user_id

    我在执行 current user stories build 期间收到错误未知属性 user id class User lt ActiveRecord Base has many stories class name Story for
  • 多维数组内的移动

    我有一个用表格显示的数组 如何使用用户输入进行移动 目前 0 被分配给每个数组 但我计划为该数组分配其他值 我的问题是 如何使用用户输入在数组内向上 向下 向右 向左移动和对角移动 Array 0 gt Array 0 gt 0 1 gt
  • 如何找到多个 pandas 数据框中一对列与任意顺序对的交集?

    我有多个 pandas 数据框 为了简单起见 假设我有三个 gt gt df1 col1 col2 id1 A B id2 C D id3 B A id4 E F gt gt df2 col1 col2 id1 B A id2 D C id
  • 夜间值班。单击带有文本的元素

    我遇到问题 无法单击具有某些独特文本的网页元素 我有这样的结构 div class wg wagon type title Text div 我试试这个 click wg wagon type title contains Text 但我有
  • NSUserNotificationCenter.defaultUserNotificationCenter() 使用 PyInstaller 返回 None

    我正在尝试将通知发送到通知中心 Mac OSX 我正在使用 PyObjC 绑定来使用我们的 python 应用程序中的 cocoa api 我正在使用以下代码片段 import Foundation import objc NSUserNo
  • 检查空参数的最佳方法(保护子句)

    例如 您通常不希望构造函数中的参数为空 因此看到类似的内容是很正常的 if someArg null throw new ArgumentNullException nameof someArg if otherArg null throw
  • 屏幕滚动时 GridView 内的项目会重复

    我使用 GridView 来显示一组用户可以选择的类别 网格的每个项目都由一个 ImageView 和一个 TextView 组成 两者都是从服务器检索的 当触摸一个项目时 另一个活动就会启动 我以为一切都很顺利 直到我注意到当我滚动屏幕时
  • Unity3D StartCoroutine 调用一个函数,该函数什么时候返回?

    我知道Unity3D StartCoroutine调用了一个与StartCoroutine在同一线程上运行的函数 但是被调用的函数什么时候返回到原始调用者 我在互联网上查找了一个很好的 Unity3D Coroutine 示例 但找不到完整