这里给出一个例子,可以给一定启发。在游戏里面 timescale =0 ,ngui会废,所以这种情况下
不要用 invoke 和invokerepeating 以及涉及到等待时间的用法(比如Destroy(gameobject,3)),
全都用协程代替,可以用下面类似的办法实现伪暂停!!!
using UnityEngine;
using System.Collections;
public class twoIEnumerator : MonoBehaviour {
// Use this for initialization
void Start () {
StartCoroutine ("long1");
Invoke ("stopLong2",2);
}
IEnumerator long1()
{
yield return long2 ();
Debug.LogError ("Over");
}
IEnumerator long2()
{
yield return new WaitForSeconds(100);
}
void stopLong2()
{
StopCoroutine ("long2");
}
// Update is called once per frame
void Update () {
}
}