「Unity/Csharp/画面遷移/非同期」の版間の差分
提供: 初心者エンジニアの簡易メモ
行14: | 行14: | ||
{ | { | ||
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName); | AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName); | ||
− | |||
asyncLoad.allowSceneActivation = false; | asyncLoad.allowSceneActivation = false; | ||
// asyncLoad.progressが0.9でisDoneがfalse // if (asyncLoad.progress >= 0.9f) | // asyncLoad.progressが0.9でisDoneがfalse // if (asyncLoad.progress >= 0.9f) |
2022年6月30日 (木) 06:50時点における版
public class SampleAsyncScene : MonoBehaviour { [SerializeField] Button button; void Start() { button.onClick.AddListener(OnClickButton); } void OnClickButton() { StartCoroutine(LoadSceneAsync("SubScene")); } IEnumerator LoadSceneAsync(string sceneName) { AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName); asyncLoad.allowSceneActivation = false; // asyncLoad.progressが0.9でisDoneがfalse // if (asyncLoad.progress >= 0.9f) while (!asyncLoad.isDone) { Debug.Log("asyncLoad.progress=" + asyncLoad.progress); asyncLoad.allowSceneActivation = true; yield return null; } } }