目录
使用协程写一个计时器:
使用协程的注意事项:
重载:?
使用协程写一个计时器:
?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Game : MonoBehaviour {
public Text Texts;
public int Times = 0;
void Start()
{
StartCoroutine("timeDown");
}
public IEnumerator TimeDown()
{
for (int i = Times; i >= 0; i++)
{
yield return new WaitForSeconds(1f);
Texts.text = "Time " + i / 60 + " : " + i % 60+":"+i*100;
}
}
使用协程的注意事项:
- 在程序中调用StopCoroutine()方法只能终止以字符串形式启动(开始)的协程;
- 多个协程可以同时运行,它们会根据各自的启动顺序来更新;
- 协程可以嵌套任意多层(在这个例子中我们只嵌套了一层);
- ?如果你想让多个脚本访问一个协程,那么你可以定义静态的协程;
- ?协程不是多线程(尽管它们看上去是这样的),它们运行在同一线程中,跟普通的脚本一样;
- ?如果你的程序需要进行大量的计算,那么可以考虑在一个随时间进行的协程中处理它们;
- ?IEnumerator类型的方法不能带ref或者out型的参数,但可以带被传递的引用;
- 目前在Unity中没有简便的方法来检测作用于对象的协程数量以及具体是哪些协程作用在对象上。
重载:?
定义:一个类中含两个以上同名的方法,他们之间就构成重载
特点: 1、必须是两个以上同名的方法 2、方法之间的参数组合必须不同(参数的数目不同或者参数的类型不同) 3、方法的返回值不能作为判断方法之间是否构成重载的依据
好处: 大大简化啦的类调用者的代码,让我们感觉类有一种自动化调用的功能,而没有增加类创建的代码
|