unity3d coroutine、invoke的应用

2023-10-29

提供了两种异步方式的调用
(1) coroutine(协程) 应该是untity对c#多线程的一种封装吧(内部不是很了解),调用的函数需标示IEnumerator迭代配合yield return xxx使用
yield标示着是否暂停迭代,yield return true;继续下面代码,否则将挂起.


(2)invoke 类似于as/js的setTimeout,指定延迟时间后执行一个方法,不同于coroutine,调用时不可加参数




InvokeInvokes the method methodName in time seconds.
在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法
InvokeRepeatingInvokes the method methodName in time seconds.
在time秒调用methodName方法;简单说,每隔指定时间调用指定方法名的方法
CancelInvokeCancels all Invoke calls on this MonoBehaviour.
取消这个MonoBehaviour上的所有调用。
IsInvokingIs any invoke on methodName pending?
某指定函数是否在等候调用。
StartCoroutineStarts a coroutine.
开始协同程序。
StopCoroutineStops all coroutines named methodName running on this behaviour.
停止这个动作中名为methodName的所有协同程序
StopAllCoroutinesStops all coroutines running on this behaviour.
停止所有动作的协同程序


eg:

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	void Start() {
	print("Starting " + Time.time);
		StartCoroutine(WaitAndPrint(2.0F));
		print("Before WaitAndPrint Finishes " + Time.time);
	}
	IEnumerator WaitAndPrint(float waitTime) {
		yield return new WaitForSeconds(waitTime);
		print("WaitAndPrint " + Time.time);
	}
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	public Rigidbody projectile;
	void LaunchProjectile() {
		Rigidbody instance = Instantiate(projectile);
		instance.velocity = Random.insideUnitSphere * 5;
	}
	public void Awake() {
		InvokeRepeating("LaunchProjectile", 2, 0.3F);
	}
}


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

unity3d coroutine、invoke的应用 的相关文章

  • VS2017调试unity没有解决方案

    1 VS2017之前的版本调试unity 需要下载 Visual Studio Tools for Unity 2 VS2017内置了Visual Studio Tools for Unity 3 首先打开 帮助 gt 关于 已安装程序中查
  • unity3D期末作业捕鱼游戏,适合初学者学习使用,包含源程序所有文件

    虚拟现实期末作业捕鱼游戏 免积分下载 点我下载资源 有按钮 背景音乐 可以发射炮弹捕鱼 可以选择难度 可以调节音乐声音大小 有游戏加载进度条 详细情况请看如下动态图 点我下载资源
  • Animator之RootMotion

    Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移 这个就是通过 applyRootMotion 来达成
  • Unity 实现选框选中物体

    最近在看RTS游戏视频注意到了选框功能 就尝试做了一下 功能实现 脚本挂载到Camera上 要不然OnPostRender 函数无法调用 rectMat新建一个材质球 设置成默认的Sprites就可以了 using System Colle
  • Unity3d中使用OnGUI()函数判断“键盘按下抬起”功能的新方法。

    private bool flagJudgeDownAllow true 开始值为true void OnGUI key Event current FunctionKeyCodeV1 key private void FunctionKe
  • Unity的Text Mesh Pro文字显示重叠处理

    在使用Text Mesh Pro的时候 出现文字重叠 如图 在编辑器内显示是正确的 最后发现是换行造成的 原本的文字是从pdf中复制过来 就会重叠 在记事本中删除换行用回车再次换行就能正确显示
  • Unity中的单元测试

    我知道的单元测试有两种方法 1 从Unity的AssetStore窗口下载UnityTestTools 已下架了 2 使用TestRuner 2018 2 5以上版本有 我用的是2018 2 7 TestRuner的用法 操作窗口 Wind
  • 《Unity Shader入门精要》彩图版免费分享~~~~~

    这书很多地方都要币或者要钱 这里就免费分享了 下面是网盘链接 顺手点个赞或者评论一波呗 下载链接 链接 https pan baidu com s 137Y1nkB6h8HIvKOfwFPnbQ 提取码 f8dw 顺手点个赞 蟹蟹蟹蟹
  • Unity编辑器扩展——进度条显示通用方法

    在我们使用Unity编辑器扩展做一些批处理的工具时 通常会需要显示一个进度条 这样不会让Unity一直卡住不动 使得使用者不知道当前的进展 那么如何显示进度条呢 涉及的相关API有 EditorUtility ClearProgressBa
  • 【Unity3d】Animator和Animation组件使用注意事项

    一 Animator一般用于人物动画控制 特点是动画是持续的 可能有动作切换 Animation一般用于间断性的动画的控制 比如一个场景特效的播放 只播放一次就完了 二 实测Animation速度比Animator快10 左右 内存占用没测
  • 游戏开发unity编辑器扩展知识系列:一个方法添加至多个MenuItem

    代码如下 用多个MenuItem标记方法就可以了 MenuItem GameObject 生成带图片的Image false 100 MenuItem Assets 生成带图片的Image static void GenImageGameO
  • 【Unity-学习-021】异步实现HTTP请求

    对Http访问操作 Unity中一般使用协程操作 但是协程有一个比较要命的要求就是所在Mono必须在场景中是激活的 所以一些操作就会被限制 所以我们就找办法替代掉协程做一些异步的操作 那就用异步方法 首先扩展一下AsyncOperation
  • Unity使用Newtonsoft报错的解决方案

    文章目录 Unity 使用 Newtonsoft 报错的解决方案 问题描述 解决方法 方法一 使用 Unity 的 Package Manager 自动导入 方法二 访问 GitHub 下载 unitypackage 文件手动导入 Unit
  • unity3d 输入法相关API

    Input inputString 获取输入的文字 正在打的中文是接受不到的 只有在文字写到文本框才能获取 Input imeCompositionMode 是否是激活输入框状态 on 是 Input compositionString 空
  • Unity里清除Console控制台Log的函数

    Log输出部分转发来自 http blog sina com cn s blog 13c4bf4b40102wz0r html 在控制台输出中 是开发者常用到的一种函数 通过Debug类来实现 打印字符串 Debug Log log 如果有
  • Input.GetAxis _ Unity3d

    Input GetAxis 获取轴 static function GetAxis axisName string float Description描述 Returns the value of the virtual axis iden
  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • Unity3D的四种坐标系

    1 World Space 世界坐标 我们在场景中添加物体 如 Cube 他们都是以世界坐标显示在场景中的 transform position可以获得该位置坐标 2 Screen Space 屏幕坐标 以像素来定义的 以屏幕的左下角为 0
  • Unity3d中脚本无法编译问题(Monodevelop)

    使用Monodevelop打开脚本 编译时报错 具体错误忘记了 原因是 net框架引起 升级到 net框架4 5后解决
  • unity dots jobSystem 记录

    Looking for a way to get started writing safe multithreaded code Learn the principles behind our Job System and how it w

随机推荐

  • spring junit完美测试解决方案

    一 首先讲下注解 autowire 与 resource的区别 Autowired是按类型装配依赖对象 默认情况下 要求依赖对象必须存在 若允许null值 可以设置它的required属性为false 如果想使用按名称装配 可以结合 Qua
  • VScode修改快捷键

    有时候我们需要设置符合自己操作习惯的快捷健 比如 退回到上一个编辑位置 可以采用下面的方法尝试 1 打开快捷键设置界面 依次找到 File gt Preferences gt Keyboard Shotcuts 2 在keyboard sh
  • selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate elemen...

    from selenium import webdriver import time def sleep w 1 time sleep w return 0 初始化浏览器信息 driver webdriver Chrome driver g
  • form表单循环,新增,删除

    实现表单循环 参考element 动态增减表单项来写
  • 给el-select某个option添加label

  • linux_网络通信-套接字通信socket-网络字节序-IP地址转换函数-inet_pton函数-htonl函数-htons函数-ntohl函数-ntohs函数

    接上一篇 linux 进程锁与文件锁 pthread mutexattr init函数 pthread mutexattr setpshared函数 今天开始分享网络通信了 主要是就是socket套接字通信 本篇先分享一些预备知识 有网络字
  • 数据库练习(1)

    学生表 科目表 成绩表 创建表 学生表 create table Student studentNo varchar 10 primary key studentName varchar 20 loginPassword varchar 2
  • Mybatis 源 码 初 解 析 (一)

    搁置了好久的mybatis源码攻略 今天来一丢丢小小的总结 阅读源码吗 我觉得要从宏观到微观的一个顺序去进行 有必要的话甚至可以加上自己的一个图解流程 可以使思路更加清晰 初想mybatis 首先mybatis是一个为了简化操作的一个框架
  • 目标检测YOLO实战应用案例100讲-海杂波背景下的弱目标检测

    目录 前言 国内外研究现状 基于统计模型的检测方法 基于时频分析的检测方法
  • 蓝桥杯2020java c组省赛第八题

    题目 在平面上有一些二维的点阵 这些点的编号就像二维数组的编号一样 从上到下依次为第1至第n行 从左到右依次为第1至第m行 每一个点可以用行号和列号来表示 现在有个人站在第一行第一列 要走到第n行第m列 只能向右或者向下走 注意 如果行号和
  • 使用IDEA在maven下创建工程

    一 创建父工程 1 创建 Project 2 开启自动导入功能 IDEA2020取消了这一设置 方法一 快捷键方法 使用Ctrl Shift O自动导入maven依赖 方法二 图标点击 每次新增依赖时 pom xml的右上角都会有一个M的小
  • vue项目 watch之 $route

    vue 登录页面使用立即监听 route的方式 得到登录后跳转会的路径 watch route handler function route console log 跳转回参数页面 route query redirect this red
  • R实战:【基本类型】可扩展时间序列类型xts(Extensible Time Series)

    R实战系列专栏 本文翻译自 xts Extensible Time Series Jeffrey A Ryan Joshua M UlrichMay 18 2008 背景介绍 在xts出现之前 R语言有很多种时间序列类型 这对最终的用户来说
  • [网络通信] NIO高性能通信实战(一)

    网络通信 NIO高性能通信实战 一 文章目录 网络通信 NIO高性能通信实战 一 NIO 三大核心 缓冲区 Buffer 通道 Channel 选择器 Selector 通道的注册 选择器的检查 零拷贝实现高性能文件传输 小结 REFERE
  • Quaternion

    01 欧拉角 1 欧拉角Vector3 x y z 代表的是旋转物体 若是标准旋转那么是旋转坐标轴x y z 转换为旋转物体则旋转角度取反顺序不变 且是将物体从物体坐标系旋转到惯性坐标系 世界坐标系中为了渲染 故旋转顺序为 z y x也就是
  • linux命令之cd,ls,vi进入及退出文件

    一 cd用来进入指定的某个目录 说cd这个命令是Linux上使用率最高的两个命令之一不为过吧 另一个当然是ls了 前两天看到了一个cd命令的小技巧是我一直都不知道的 呵呵 这里顺便记下来 cd 回到上次所在目录 感觉还是比较有用 省略了很多
  • 关于“No subject alternative DNS name matching”的解决

    最近突然后台报错 I O error on POST request for https test xxxxxxx com api xxx xxx xxx java security cert CertificateException No
  • RHP-Zero

    https www powerelectronics com technologies power management article 21860287 understanding the righthalfplane zero part
  • python作品-python实例作品

    广告关闭 腾讯云双11爆品提前享 精选热门产品助力上云 云服务器首年88元起 买的越多返的越多 最高满返5000元 多尺度模板匹配结果不要拿我的话来说 这种方法的作品 我们来看一些例子 打开您的终端并执行以下命令 multi scale t
  • unity3d coroutine、invoke的应用

    提供了两种异步方式的调用 1 coroutine 协程 应该是untity对c 多线程的一种封装吧 内部不是很了解 调用的函数需标示IEnumerator迭代配合yield return xxx使用 yield标示着是否暂停迭代 yield