我有一个带有代码的主菜单场景
void Start()
{
StartCoroutine (FadeIn());
}
IEnumerator FadeIn()
{
whiteFadeInAnim.Play("whiteEntryMenu");
yield return new WaitUntil(()=>whiteFadeIn.color.a==0);
ShowMainMenu();
Debug.Log ("Coroutine started");
}
whiteFadeInAnim.Play("whiteEntryMenu");
逐渐减少白精灵游戏对象的alpha值。然后,ShowMainMenu()显示带有一些动画的菜单按钮。我玩的时候场景很好用。但是,当我尝试使用 - SceneManager.LoadScene("menu");
从另一个场景加载此场景时,没有任何反应。菜单场景已加载,但我只能看到白色精灵,并且不会显示调试日志。也没有显示错误。为什么会这样?
答案 0 :(得分:1)
由于我无法评论您的问题,我会将此作为答案发布。
首先检查你的脚本和它所在的GameObject
是否在加载后是否在场景中处于活动状态。(GameObject
和脚本名称的蓝色标记)
您可能还想尝试除Start()
之外的其他方法,例如OnEnable()
可能会给您相同的输出,因为脚本将在场景开始时启用(如果它保存为启用脚本),但有了它,您也可以重用您的脚本,而无需重新加载场景。 (与Start()
)
此外,您可能需要阅读this以了解执行MonoBehaviour
方法的顺序方面的任何问题。