unity 启动黑屏很久怎么解决
1个回答
展开全部
这种情况很有可能你的场景有点大,需要花时间加载。
这种情况我推荐做一个很小的场景做过渡,用异步加载场景的方式处理。
附上一段示例代码如下:
IEnumerator startLoading()//异步加载新的场景
{
//SceneManager貌似是新版的场景管理
//异步加载场景
AsyncOperation acop = SceneManager.LoadSceneAsync(nextSceneName);
//因为太快了所以需要加一点缓冲
acop.allowSceneActivation = false;
theProcessBar.value = 0;
float value = 0f;
//等待40帧大约0.8秒
for (int i = 0; i < 40; i++)
{
value++;
//theProcessBar.value = value /120;
theProcessBar.value = value/40;
yield return new WaitForEndOfFrame ();
}
theProcessBar.value = value+0.8f*acop.progress;
acop.allowSceneActivation = true;
yield return acop;
}
这种情况我推荐做一个很小的场景做过渡,用异步加载场景的方式处理。
附上一段示例代码如下:
IEnumerator startLoading()//异步加载新的场景
{
//SceneManager貌似是新版的场景管理
//异步加载场景
AsyncOperation acop = SceneManager.LoadSceneAsync(nextSceneName);
//因为太快了所以需要加一点缓冲
acop.allowSceneActivation = false;
theProcessBar.value = 0;
float value = 0f;
//等待40帧大约0.8秒
for (int i = 0; i < 40; i++)
{
value++;
//theProcessBar.value = value /120;
theProcessBar.value = value/40;
yield return new WaitForEndOfFrame ();
}
theProcessBar.value = value+0.8f*acop.progress;
acop.allowSceneActivation = true;
yield return acop;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询