
当Unity中创建协程时,需要某种“yield”,在本例中,创建了一个新的“WaitForSeconds”,使用new关键字实际上会创建垃圾回收,为了避免这种情况,可以缓存它。
假设…有一个死亡协程,它会在敌人死亡时播放。
例如:
public IEnumerator Die()
{
yield return new waitForSeconds(1);
Destroy (this.gameobject);
}
当然…
可以在脚本的顶部创建需要的变量,并在开始时初始化变量,就像在缓存Get组件时所做的那样。
例如:
private WaitForSeconds _timeToDie;
// Start is called before the first frame update
void Start()
{
_timeToDie = new WaitForSeconds(5);
比起在协程中而不是new关键字,只是用我们创建的变量说“yield return”。
public IEnumerator Die()
{
yield return _timeToDie;
Destroy(this.gameObject);
}
以上内容虽然不是一个很奇的优化,但它仍然提高了一点性能。
如果你有任何反馈,请随时在本页面下方留言。