Unity协程Coroutine使用总结和一些坑
原文摘自
Unity协程Coroutine使用总结和一些坑
MonoBehavior关于协程提供了下面几个接口:

可以使用函数或者函数名字符串来启动一个协程,同时可以用函数,函数名字符串,和Coroutine对象来终止一个协程。
使用上有这几种问题:
1,使用 Coroutine StartCoroutine(IEnumerator routine)来启动一些协程,能否使用StopCoroutine(string methodName) 和StopCoroutine(Coroutine routine);StopCoroutine(IEnumerator routine)来结束对应的协程:
答案:StopCoroutine(string methodName)不能
能否用StopCoroutine(IEnumerator routine)来终止对应的协程?
需要使用IEnumerator tempEnum把协程方法保存下来,然后调用来StopCoroutine(tempEnum)终止
2,使用StartCoroutine(string methodName)来启动的协程,能否使用StopCoroutine(Coroutine routine)和StopCoroutine(IEnumerator routine)来结束对应的协程:
答案:不能
StopCoroutine(Coroutine routine)肯定不行了,没有Coroutine对象
3, Coroutine StartCoroutine(IEnumerator routine)可以将一个非MonoBehavior对象里的IEnumerator传入,在当前Mono对象里管理启动这个协程。
但是StartCoroutine(string methodName)不能将非MonoBeahvior对象里的函数名串作为参数来启动协程,因为StartCoroutine(string methodName)是在当前Mono对象下匹配对应的函数名字
4,Coroutine StartCoroutine(IEnumerator routine)来启动多个协程 Coroutine1和Coroutine2,分别使用StopCoroutine(Coroutine )来终止对应的协程
5,调用StartCoroutine(string methodName)多次来启动多个协程,使用StopCoroutine(string methodName) 一次可以终止所有的该协程函数
虽然unity文档上是这么说的:

但实际上会把所有叫做methodName的协程都取消掉,源码里也是这么做的
源码不便分享,需要请私信
Unity协程Coroutine使用总结和一些坑的更多相关文章
- Unity协程(Coroutine)管理类——TaskManager工具分享
博客分类: Unity3D插件学习,工具分享 源码分析 Unity协程(Coroutine)管理类——TaskManager工具分享 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处 ...
- unity协程coroutine浅析
转载请标明出处:http://www.cnblogs.com/zblade/ 一.序言 在unity的游戏开发中,对于异步操作,有一个避免不了的操作: 协程,以前一直理解的懵懵懂懂,最近认真充电了一下 ...
- Unity 协程(Coroutine)原理与用法详解
前言: 协程在Unity中是一个很重要的概念,我们知道,在使用Unity进行游戏开发时,一般(注意是一般)不考虑多线程,那么如何处理一些在主任务之外的需求呢,Unity给我们提供了协程这种方式 为啥在 ...
- Unity 协程Coroutine综合测试
using UnityEngine; using System.Collections; using System.Text; public class rotCube : MonoBehaviour ...
- Unity协程(Coroutine)原理深入剖析
Unity协程(Coroutine)原理深入剖析 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 其实协程并没有那么复杂,网上很多地方都说是多 ...
- Unity协程(Coroutine)原理深入剖析(转载)
记得去年6月份刚开始实习的时候,当时要我写网络层的结构,用到了协程,当时有点懵,完全不知道Unity协程的执行机制是怎么样的,只是知道函数的返回值是IEnumerator类型,函数中使用yield r ...
- Unity协程(Coroutine)原理深入剖析再续
Unity协程(Coroutine)原理深入剖析再续 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 前面已经介绍过对协程(Coroutine ...
- 【转】Unity协程(Coroutine)原理深入剖析
Unity协程(Coroutine)原理深入剖析 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 记得去年6月份刚开始实习的时候,当时要我写网 ...
- Unity怎样在Editor下运行协程(coroutine)
在处理Unity5新的AssetBundle的时候,我有一个需求,须要在Editor下(比方一个menuitem的处理函数中,游戏没有执行.也没有MonoBehaviour)载入AssetBundle ...
随机推荐
- TMOUT优化终端超时
有时候,管理员终端登陆了系统,如果离开没有退出账户,则会有安全隐患存在,因此需要优化终端超时. 设置终端超时: export TMOUT=10 永久生效: echo "export TMOU ...
- pychram使用技巧
1.代码添加断点 点击对应行代码,按ctrl+F8,即可添加断点 2.查看内置函数的源码 点击对应函数后按crtl+B
- python3: 数字日期和时间(1)
---恢复内容开始--- 1. 数字的四舍五入 Q: 你想对浮点数执行指定精度的舍入运算 A: 简单的使用内置的round(value, ndigits)函数即可. >>> roun ...
- 【12】python 栈型数据结构模拟、队列型数据结构模拟
一.压栈操作模拟 #__author:"吉*佳" #date: 2018/10/21 0021 #function:栈 # 栈:即是先进后出的一种数据结构 # (1)模拟压栈操作 ...
- Emmm,从删库到跑路系列之.......Root权限的重要性
中午导入了一个.SQL文件,晚上查navicat的数据库死活打不开 错误代码1030,想起来中午导入了mysql数据库的user表,而那里面什么也没有... 默默删掉了data,然后emmm --in ...
- 【Alpha 冲刺】 11/12
今日任务总结 人员 今日原定任务 完成情况 遇到问题 贡献值 胡武成 完成app端api编写 未完成 文件上传api还没完成 孙浩楷 1. 与后端交接, 2. 完成图片在线编辑插件引入 未完成 陷入僵 ...
- 解决PC有道云笔记卸载重装后无法数据同步问题
将客户端内容成功同步后,按键盘win键选择文件资源管理器,将以下路径一次粘贴到搜索框按回车搜索,将搜索到的所有内容(文件,文件夹)全部删除,再重启软件登录账户同步试试看 配置目录:%USERPROFI ...
- bat替换文件的指定内容
需求:替换文件my.ini中的1000 为10000,bat脚本如下: c:cd C:\Program Files\MySQL\MySQL Server 5.5copy my.ini my1126ba ...
- mtime参数的理解
mtime参数的理解应该如下:-mtime n 按照文件的更改时间来找文件,n为整数.n表示文件更改时间距离为n天, -n表示文件更改时间距离在n天以内,+n表示文件更改时间距离在n天以前.例如:-m ...
- kubernetes label 标签使用
查看node的标签kubectl get node --show-labels 删除标签kubectl label nodes node5 storagenode- 设置标签kubectl label ...