在构建设置中,在索引0和索引1有两个场景:
然后在层次结构中有两个场景:活动场景是MainMenu:
在StartGameButton中,我向它添加了一个脚本组件。在剧本中:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class LoadSceneOnClick : MonoBehaviour
{
public void LoadByIndex(int sceneIndex)
{
SceneManager.LoadScene(sceneIndex);
}
}
这位是StartGameButton检查员:
我在OnClick上拖动脚本,选择函数LoadSceneOnClick并将索引设置为1
当游戏开始,我点击按钮,它停留在主菜单场景,没有加载任何东西。
问题是,我在游戏中遇到了错误--没有摄像头渲染:
问题是,当我运行游戏时,它从空间站场景中的主菜单场景开始,我启用的是假的,玩家是第一个带有摄像头的角色:
在检查器中可以看到,播放机未被检查,播放机未启用。如果我将启用播放器,即使主菜单场景是活动的,它也会向我展示播放器和播放器摄像头,而不是主菜单。所以我不得不关掉那个球员。
现在的问题是,当播放器加载场景时,通过脚本我应该在哪里启用它?
在LoadSceneOnClick脚本中?
发布于 2018-05-12 04:49:18
这是一个偏好和经验的问题。
在加载新场景之后,我会创建一些具有所需事件和数据的ScriptableObject
。然后,我会有某种控制器的事件现场加载,并传递那里的数据从资产。然后,我将通过该ScriptableObject
中的方法执行所有必需的操作。但这看起来可能太复杂了。
我的建议是,对于主菜单的视觉效果,您创建一个单独的场景,加载额外,并且没有所有这些游戏相关的功能。它只具备主菜单所需的内容。理想情况下,您可以将所有这些放在主菜单场景中。
但是对于您的情况,最好不是加载新场景,而是启用播放器并卸载主菜单场景。这样你就不用再加载相同的场景了,你就有了游戏的准备状态。
https://gamedev.stackexchange.com/questions/158533
复制相似问题