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));

绝对就没得问题了,试试呗

追问

已解决

本回答被提问者采纳
参考技术B IEnumerator aaaaaaaa(float time)

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要求被引用的主要内容,如果未能解决你的问题,请参考以下文章

unity中协程函数没有错误为啥会报错

unity 协程怎么 return

unity里头的协程

Unity--上传下载文件并保存到本地

Unity--上传下载文件并保存到本地

unity面试题之啥是协同程序