Unity - 延时操作方案
来源:互联网 发布:java爬动态网页 编辑:程序博客网 时间:2024/05/29 20:03
背景:做游戏的很多时候我们需要延时操作:倒计时是一个最简单也是最基本的问题。
方案二:StartCoroutine
上面两种方法的调用实例:
两种方法都比较好理解,如果想要继续学习请看文首链接或自行查询。下面贴出倒计时代码。
目标:用 Invoke 和 StartCoroutine 延时做倒计时。
因为此文是实现功能文,具体理论不在此解释。如果需要了解协程和线程调用的具体请转:
unity3d–MonoBehaviour类Invoke,Coroutine :http://www.himigame.com/wp-admin/post-new.php
Unity3D协程介绍 以及 使用 : http://blog.csdn.net/huang9012/article/details/38492937
Unity3D游戏开发中的 yield协程与消息传递 :http://blog.csdn.net/huang9012/article/details/38492937
方案一:Invoke
Invoke(methodName: string, time: float): void;methodName:方法名time:多少秒后执行InvokeRepeating(methodName: string, time: float, repeatRate: float): void;methodName:方法名time:多少秒后执行repeatRate:重复执行间隔
还有两个重要的方法:
IsInvoking:用来判断某方法是否被延时,即将执行CancelInvoke:取消该脚本上的所有延时方法
实现倒计时:
void Start ()//注:并不是项目源码,只是展示效果代码{int count = 3;for (int i = 0; i < count; i++) {Invoke ("CountDown", 1.0f);}}public void CountDown(){print ("wait");}
方案二:StartCoroutine
public Coroutine StartCoroutine(IEnumerator routine);public Coroutine StartCoroutine(string methodName, object value = null);
上面两种方法的调用实例:
using UnityEngine;using System.Collections;public class ExampleClass : 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 ExampleClass : MonoBehaviour { IEnumerator Start() { StartCoroutine("DoSomething", 2.0F); yield return new WaitForSeconds(1); StopCoroutine("DoSomething"); } IEnumerator DoSomething(float someParameter) { while (true) { print("DoSomething Loop"); yield return null; } }}
两种方法都比较好理解,如果想要继续学习请看文首链接或自行查询。下面贴出倒计时代码。
void Start(){ for (int i = 0; i < 3; i++) { StartCoroutine (CountDown()); } } IEnumerator CountDown(){ yield return new WaitForSeconds (1.0f); print ("wait"); }
0 0
- Unity - 延时操作方案
- Unity延时操作
- unity - 屏幕滑动操作方案
- 延时操作
- 延时操作
- unity 延时调用方法
- Unity 延时调用(Invoke)
- Unity 自定义Inspector界面。 延时 对 对象的 一些 基本操作。
- unity中的简单延时方法
- iphone ios 延时操作
- android之延时操作
- 延时操作的方式:
- Android 延时操作
- IOS常用延时操作
- iOS延时操作
- GCD延时操作
- iOS 延时操作
- .bat延时操作
- MAC下阅读Android源代码
- nginx配置详解
- RichTextBox替换文字并改变字体颜色
- Android中的进程简介(可见进程,前台进程,后台进程等)
- 常用的Http Response Code所代表的意思
- Unity - 延时操作方案
- Android插件化之Activity生命周期处理
- memcached安装失败
- 抽象类和接口的区别总结
- iOS容易造成循环引用的三种场景,就在你我身边!
- Spring 数据库连接配置
- 蓝牙4.0总结
- SQL的主键和外键的作用
- LoadRunner中的时间处理——事物时间、消耗时间等