打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Invoke
InvokeScript
using UnityEngine;
using System.Collections;
public class InvokeScript : MonoBehaviour { public GameObject target; void Start(){ Invoke ("SpawnObject", 2); } void SpawnObject(){ Instantiate(target, new Vector3(0, 2, 0), Quaternion.identity); }}
InvokeRepeating
using UnityEngine;
using System.Collections;
public class InvokeRepeating : MonoBehaviour { public GameObject target; void Start(){ InvokeRepeating("SpawnObject", 2, 1); } void SpawnObject(){
float x = Random.Range(-2.0f, 2.0f);
float z = Random.Range(-2.0f, 2.0f); Instantiate(target, new Vector3(x, 2, z), Quaternion.identity); }}
Invoke() 方法是 Unity3D 的一种委托机制
如: Invoke("Test", 5);   它的意思是:5 秒之后调用 Test() 方法;
使用 Invoke() 方法需要注意 3点:
1 :它应该在 脚本的生命周期里的(Start、Update、OnGUI、FixedUpdate、LateUpdate)中被调用;
2:Invoke(); 不能接受含有参数的方法;
3:在 Time.ScaleTime = 0; 时, Invoke() 无效,因为它不会被调用到
Invoke() 也支持重复调用:InvokeRepeating("Test", 2 , 3);
这个方法的意思是指:2 秒后调用 Test() 方法,并且之后每隔 3 秒调用一次 Test() 方法
还有两个重要的方法:
IsInvoking:用来判断某方法是否被延时,即将执行
CancelInvoke:取消该脚本上的所有延时方法
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Unity 延迟执行一段代码的较为优雅的方式
temp
Java动态调用方法
Runnable接口与Thread类的区别
java线程补充
QT下实现对Linux Shell调用的几种方法 QProcess, QThread
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服