前提・実現したいこと
動いてる床のあるシーン「A」から別のシーン「B」に移り、また元の「A]に戻ったら床の位置が初期化されてしまいます。
別のシーンにいる間でも動き続けているようにしたいです。
該当のソースコード
C#
1基底クラス 2public class Trap : MonoBehaviour 3{ 4 [SerializeField] 5 protected float waitTime; 6 protected bool stop = false; 7 protected virtual void Start() 8 { 9 10 } 11 12 protected virtual void Update() 13 { 14 15 } 16 protected IEnumerator Wait() 17 { 18 stop = true; 19 yield return new WaitForSeconds(waitTime); 20 stop = false; 21 } 22} 23
C#
1床の動き 2public class MoveCube :Trap 3{ 4 [SerializeField] 5 float moveX; 6 [SerializeField] 7 float moveY; 8 [SerializeField] 9 float moveZ; 10 [SerializeField] 11 float speed; 12 float step; 13 bool goBack = false; 14 Vector3 origin; 15 Vector3 destination; 16 protected override void Start() 17 { 18 origin = transform.position; 19 destination = new Vector3(origin.x - moveX, origin.y - moveY, origin.z - moveZ); 20 } 21 protected override void Update() 22 { 23 if (stop) 24 { 25 return; 26 } 27 step = speed * Time.deltaTime; 28 if (!goBack) 29 { 30 transform.position = Vector3.MoveTowards(transform.position, destination, step); 31 if (transform.position == destination) 32 { 33 goBack = true; 34 StartCoroutine(Wait()); 35 } 36 } 37 else 38 { 39 transform.position = Vector3.MoveTowards(transform.position, origin, step); 40 if (transform.position == origin) 41 { 42 goBack = false; 43 StartCoroutine(Wait()); 44 } 45 } 46 } 47 48}
試したこと
https://dream-target.jp/2018/12/06/unity_scene/
こちらのサイトに載っているメインシーンとサブシーンの表示/非表示を試しましたが、サブシーンが非表示にされず上手くいきませんでした。
一部古いコードとなっているUnloadScene等もUnloadSceneAsyncに直しています。
補足情報(FW/ツールのバージョンなど)
バージョン:Unity 2019.2.4f1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/11 04:13
2019/11/11 05:01 編集
2019/11/11 05:15 編集