中断测试

              最近一个项目,大量用到时间中断,也经常出现各种bug,为了查找原因,特意做了几个小test

    

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {

	// Use this for initialization
	IEnumerator  Start () {
	
		InvokeRepeating("test1",0f,1f);
		//yield return new WaitForSeconds(1f);
		CancelInvoke("test1");
		yield return null;
	}
	
	// Update is called once per frame
	void Update () {
	
	}
	
	void test1()
	{
		Debug.Log(Time.time);
		Debug.Log("haha");
	}
}
什么都不输出

如果把name="code" class="csharp">yield return new WaitForSeconds(1f);加上

输出为:


下面这段代码,就canel不掉,真他妈的坑爹啊

using UnityEngine;
using System.Collections;


public class test : MonoBehaviour {


	// Use this for initialization
	void  Start () {
	
		StartCoroutine("createstart");
	}
	
	// Update is called once per frame
	void Update () {
	
	}
	
	IEnumerator createstart()
	{
		int i=0;
		while(true)
		{
		InvokeRepeating("test1",0f,1f);
		yield return new WaitForSeconds(5f);
		CancelInvoke("test1");
			print("ok i ge");
		yield return null;
			
		}
	}
	
	void test1()
	{
		Debug.Log(Time.time);
		Debug.Log("haha");
	}
}


using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {
	
	public bool isok=true;
	// Use this for initialization
	void  Start () {
	
		StartCoroutine("createstart");
	}
	
	// Update is called once per frame
	void Update () {
	
	}
	
	IEnumerator createstart()
	{
		int i=0;
		while(isok)
		{
		InvokeRepeating("test1",0f,1f);
		yield return new WaitForSeconds(5f);
	    isok=false;
		CancelInvoke("test1");
			print("ok i ge");
		yield return null;
			
		}
	}
	
	void test1()
	{
		Debug.Log(Time.time);
		Debug.Log("haha");
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值