ファイルのロード中にGameObjectを回転させたいのですが、
下記の通りStartCoroutineでファイルを読み込ませていますが、
ロード中もUpdate()が走らないようで回転してくれません。
StartCoroutineの使い方を何か間違っているでしょうか?
c#
1public class TestScript : MonoBehaviour { 2 private GameObject Monster { get; set; } 3 private float Speed { get; set; } = 3; 4 private bool Loaded { get; set; } = false; 5 6 void Start () { 7 Monster = GameObject.Find("monster"); 8 } 9 10 void Update() { 11 Monster.transform.Rotate(new Vector3(0, 0, Speed)); 12 if (!Loaded) { 13 StartCoroutine(ReadSaveDataFileAsync(Application.persistentDataPath + "/Test.sav")); 14 } 15 } 16 17 public IEnumerator ReadSaveDataFileAsync(string filePath) { 18 string fileName = filePath; 19 SaveData saveData = (SaveData)LoadFromBinaryFile(fileName); 20 yield return 0; 21 Loaded = true; 22 } 23 24 // ファイル読込 25 public static object LoadFromBinaryFile(string path) { 26 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); 27 BinaryFormatter f = new BinaryFormatter(); 28 object obj = f.Deserialize(fs); 29 fs.Close(); 30 return obj; 31 } 32}
▼追記1 async/awaitを使用(これでも変わらず)
c#
1public class TestScript : MonoBehaviour { 2 private GameObject Monster { get; set; } 3 private float Speed { get; set; } = 3; 4 private bool Loaded { get; set; } = false; 5 6 void Start () { 7 Monster = GameObject.Find("monster"); 8 } 9 10 void Update() { 11 Monster.transform.Rotate(new Vector3(0, 0, Speed)); 12 if (!Loaded) { 13 Loaded = true; 14 Task nowait = ReadSaveDataFileAsync(Application.persistentDataPath + "/Test.sav"); 15 } 16 } 17 18 public async Task ReadSaveDataFileAsync(string filePath) { 19 string fileName = filePath; 20 SaveData saveData = (SaveData)LoadFromBinaryFile(fileName); 21 await Task.Delay(0); 22 } 23 24 // ファイル読込 25 public static object LoadFromBinaryFile(string path) { 26 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); 27 BinaryFormatter f = new BinaryFormatter(); 28 object obj = f.Deserialize(fs); 29 fs.Close(); 30 return obj; 31 } 32}
◆環境
Unity2019.2.17f1
Windows10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/18 16:15
2020/06/19 04:40
2020/06/19 05:33
2020/06/19 15:18