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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM