unity3d的延时调用函数

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函数

在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法

从第一次调用开始,每隔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.CanceInvoke("methodName")

  • 取消所有名为methodName的调用.

 from:http://blog.sina.com.cn/s/blog_682e58590102uyfk.html

posted @ 2015-02-09 21:59  混蛋程序员  阅读(29926)  评论(0编辑  收藏  举报