我正在使用Wiki(http://wiki.unity3d.com/index.php/FadeObjectInOut)中的FadeObjectInOut脚本
它附加到两个不同的对象(每个对象)上,分别触发。它将在
下解决IndexOutOfRangeException: Array index is out of range.
FadeObjectIO.SetNewColor (UnityEngine.Renderer[] rendererObjects, Int32 i) (at Assets/Scripts/FadeObjectIO.cs:132)
与行
Color newColor = (colors != null ? colors[i] : rendererObjects[i].material.color);
...,试图导出为函数,但仍然调用相同的错误。整个代码段均依赖IEnumerator。
由于事实是,这种情况不时发生,我完全感到困惑。我不能通过同时触发事件来激发它,也不能通过在fadeOut和unIn之间快速闪烁来激发它。
作为解决方案,我尝试了从Internet进行尝试,以及以下问题的“如何避免”方法:What is an IndexOutOfRangeException / ArgumentOutOfRangeException and how do I fix it?
上次,我以高频率触发了我的Oculus触发器开/关,却没有任何反应。沮丧,我想摘下耳机,放下控制器时,它又崩溃了。 (它位于Touch触发器上,因此很容易快速触发。)
我再也无法帮助自己... 感谢您的任何建议
。
编辑:在引发的错误下+调试代码。淡出之后,渲染器将启用= false。 由于我们处于while循环中,因此对我而言,这实际上没有任何意义,因为该点可能已经淡出(并且渲染器已被禁用),这是该数组的错误-因为它没有任何变化。嗯。