unity StartCoroutine要求被引用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity StartCoroutine要求被引用相关的知识,希望对你有一定的参考价值。
非静态的方法StartCoroutine要求被引用
参考技术A如你所贴,关键字static代表FadeTo是静态方法。 静态的方法、成员函数只能访问静态的数据成员或者静态的方法。 而你在里面调用的StartCoroutine() 是事例方法当然会报错。因此:
void Awake()
instance = this;
public static void FadeTo(string Road, float Speed)
...
instance.StartCoroutine (instance.FadeTo0(Road, Speed));
绝对就没得问题了,试试呗
追问已解决
yield return new WaitForSeconds(time);
StartCoroutine(aaaaaaaa(time));调用时必须是用StartCoroutine 参考技术C start 顾名思义就是脚本刚开始的时候运行的 所以只会运行一次
同理有awake ondestroy onenable ondisable这些函数追问
这是迭代器的触发命令,并不是你所说的start.部分截图:
unity中协程函数没有错误为啥会报错
在Unity中使用协程函数时,有时候即使协程函数本身没有错误,也会报错,这可能是因为以下原因之一:1. 协程函数的调用方式不正确。在Unity中,协程函数必须使用StartCoroutine函数来启动,如果没有使用该函数,就会出现错误。例如,如果直接调用协程函数MyCoroutine(),而没有使用StartCoroutine(MyCoroutine())来启动,就会报错。
2. 协程函数的返回值类型不正确。在Unity中,协程函数必须返回IEnumerator类型,否则就会出现错误。如果协程函数返回值类型不正确,就会报错。
3. 协程函数中使用了Unity不支持的API或操作。在协程函数中,如果使用了Unity不支持的API或操作,就会出现错误。例如,在协程函数中尝试修改Transform组件的值,就会报错。
4. 协程函数中使用了不安全的操作。在协程函数中,如果使用了不安全的操作,就会出现错误。例如,在协程函数中使用了线程或异步操作,就会报错。
如果您遇到了协程函数报错的问题,可以根据上述原因进行排查,并尝试修复问题。如果无法解决问题,可以将具体的错误信息提供给Unity的技术支持人员,以获得更详细的帮助。 参考技术A 1 可能存在其他错误导致协程函数报错。
2 在运行协程函数时可能存在资源冲突,如UI组件的重叠等问题,需要排除这些问题。
3 可能存在代码逻辑错误,需要仔细检查代码。
延伸:在使用协程函数时,需要注意协程函数的生命周期和运行机制,及时释放资源和避免重复启动协程函数。
同时,也要注意协程函数与其他代码的交互问题,如协程函数的返回值和参数传递。
以上是关于unity StartCoroutine要求被引用的主要内容,如果未能解决你的问题,请参考以下文章