我有一个2D游戏,我在菜单场景中的“开始”按钮上使用以下代码,一旦我的播放器在游戏场景中死亡,我将使用“重启”按钮。只有当我使用Build& amp;和我在真实设备上玩游戏时才会出现问题。运行Unity设置。我有两个移动我的播放器的按钮,在按下它们几次之后,移动会滞后,并且在播放时菜单场景将重叠在我的游戏场景上。它会在每次游戏开始时发生。更直接地说。我正在玩,突然一个黑色的背景和两个大的START和SETTINGS按钮在我的演奏过程中闪烁并且滞后我的控制然后它们就消失了。有没有人有这个问题可能产生的想法?
public void LoadScene(string sceneName)
{
SceneManager.LoadScene(sceneName);
}
答案 0 :(得分:1)
很奇怪,它不应该发生。
但是,请尝试在此代码中使用LoadSceneAsync
并查看错误是否仍然存在:
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
public class ScenesManager : MonoBehaviour {
IEnumerator loadScene;
public float loadingProgress;
public void LoadScene(string levelName) {
loadScene = AsyncLoad(levelName);
StartCoroutine(loadScene);
}
private IEnumerator AsyncLoad(string levelName) {
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(levelName, LoadSceneMode.Single);
asyncLoad.allowSceneActivation = false;
while (!asyncLoad.isDone) {
loadingProgress = Mathf.Clamp01(asyncLoad.progress);
asyncLoad.allowSceneActivation = false;
if (asyncLoad.progress == 0.9f) {
asyncLoad.allowSceneActivation = true;
}
yield return null;
}
}
}