[Unity3d]u3d中定时器的使用
在游戏设计过程中定时器是必不可少的工具,我们知道update方法是MonoBehavior中一个人人皆知的定时器方法,每帧都在调用,那还有其他什么定时器的方法呢,这里介绍一下。
1.Invoke(string methodName,float time)
在一定时间调用methodName函数
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() { Invoke("LaunchProjectile", 2); } }
2.InvokeRepeating(string methodName,float time,float repeatRate)
每隔一定时间调用一次methodName函数
Invokes the method methodName in time seconds.
在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法
After the first invocation repeats calling that function every repeatRate seconds.
从第一次调用开始,每隔repeatRate时间调用一次.
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); //2秒后,没0.3f调用一次 } }
3.CancelInvoke(string methodName)
取消这个脚本中所有的调用
Cancels all Invoke calls on this MonoBehaviour.
取消这个MonoBehaviour上的所有调用。
public class example : MonoBehaviour { public Rigidbody projectile; void Update() { if (Input.GetButton("Fire1")) CancelInvoke(); } void LaunchProjectile() { instance = Instantiate(projectile); instance.velocity = Random.insideUnitSphere * 5; } public void Awake() { InvokeRepeating("LaunchProjectile", 2, 0.3F); } } function LaunchProjectile () { instance = Instantiate(projectile); instance.velocity = Random.insideUnitSphere * 5; }
4.(bool) IsInvoking(string methodName)
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public Rigidbody projectile; void Update() { if (Input.GetKeyDown(KeyCode.Space) && !IsInvoking("LaunchProjectile")) //如果这个方法不在调用并且等待了2秒 Invoke("LaunchProjectile", 2); } void LaunchProjectile() { Rigidbody instance = Instantiate(projectile); instance.velocity = Random.insideUnitSphere * 5; } }
转载于:https://blog.51cto.com/dingxiaowei/1366161
[Unity3d]u3d中定时器的使用相关推荐
- Qt中定时器使用的两种方法
Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法 ...
- U3D中可以直接使用GL!!!
U3D中可以直接使用GL!!! https://blog.csdn.net/u013172864/article/details/78860624 posted on 2018-12-04 20:30 ...
- U3D中物体的渲染顺序
U3D中物体的渲染顺序 1,由SHADER中渲染队列及队列中的值决定 2,在同一队列中,若材质相同 2.1 对于UI,按其在场景层级中的先后顺序绘制 2.2 对于3D不透明物体,按其离相机的距离,由近 ...
- C#与U3D中字符串尾0
C#与U3D中字符串尾0 static void TestChar0(){//注意字符串中0和\0的区别,如 s1="h0ello", s2 = "h\0ello&quo ...
- unity3D 5中如何修改及显示Text的值
分步阅读 unity3D 5中如何修改及显示Text的值 百度经验:jingyan.baidu.com 因为unit5.0的版本的原因,现在的text控件与之前版本的有了一些差异,接下来我们就来介绍如 ...
- 19、mysql中定时器的创建和使用
mysql中可以使用定时器,用来进行计划的调度,在mysql中定时器通过事件的形式存在,接下来介绍一下定时器的使用 创建定时器 CREATE EVENT IF NOT EXISTS 计划名-- 计划频 ...
- Windows编程—Windows驱动中定时器的使用
文章目录 Windows编程-Windows驱动中定时器的使用 前言 代码 简单版 升级版 程序效果 Windows编程-Windows驱动中定时器的使用 前言 定时器操作是应用编程中非常常见的操作, ...
- python threading模块中的timer_threading中定时器Timer方法
threading中定时器Timer 定时器功能:在设置的多少时间后执行任务,不影响当前任务的执行 常用方法 from threading import Timer t = Timer(interva ...
- JS中定时器的返回数值ID值
定时器会返回一个数字值id,可以由clearInterval(id)或clearTimeout(id)来实现对对应定时器的清除. setInterval()/setTimeout()BOM中的Wind ...
最新文章
- 2010威购VgoShop单用户商场下一代企业电子商务系统
- NTU课程:MAS714 (3)Graph Algorithms
- [密码学] RSA同模攻击与选择密文攻击
- 输出联系变化的数字seq
- P1459 三值的排序 Sorting a Three-Valued
- 软件工程 工具之二—— PowerDesigner v12(六)
- 计算机软件性能测试的过程,性能测试过程的规范
- Mendix:低代码开发平台 让未来工作模式日渐明朗
- yum -y list java* 缓存加载不了_Java开发面试宝典:分布式相关篇
- ProxySQL 常见表配置
- python jieba库的使用
- micropython入门 stm32_STM32F4系列使用MicroPython开发
- 网络安全理论与技术概述-带你了解网络安全
- iOS SpriteKit 小游戏开发实例 - Flappy Bird
- LeetCode881. 救生艇
- projects from git 和 projects from git(with smart import)区别
- golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)
- ## STM32F103的光照、烟雾MQ2、有毒气体MQ135的ADC配置(寄存器版与库函数版
- 2021-07-01验证用户账号密码登录,三次输入错误要验证码
- 【已解决】Ipad 1代-随意下载应用软件(此方法,同样适用于IOS 5.1.1的Iphone手机)
热门文章
- Spray + Akka高性能异步IO并发
- oracle 数据库 触发器 trigger 语法
- SCA (Service Component Architecture)
- kafka系列九、kafka事务原理、事务API和使用场景
- 03.openssl-获得支持加密算法
- Building Paragon in Unreal Engine 4 - GDC 2016
- 自己使用window.open和window.showModalDialog在父子窗口传值的实践简单总结
- ckeditor的使用实例
- linux中/etc/passwd文件与/etc/shadow文件解析
- Windows via C/C++ 学习(15)线程调度、线程优先级和亲缘性