動作確認
Unity 5.1.2-f1 on MacOS X 10.8.5
- Mainシーン
- UI > Button
- UI > InputField
- UI > Toggle
- GameObject: someProcess
- Otherシーン
- UI > Button
MainシーンからButtonでOtherシーンへ移動し、OtherシーンからButtonでMainシーンに戻るようにしている。
Main -> Other -> Main にシーン移動した時、someProcesゲームオブジェクトのスクリプト(someProcessScript.cs)にインスペクタで関連づけていたInput Field, Toggleが両方ともNoneになってしまう。
someProcessScript.cs
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class someProcessScript : MonoBehaviour {
public InputField IF_name;
public Toggle Toggle_test;
private static bool created = false;
void Awake() {
if (!created) {
created = true;
DontDestroyOnLoad (this.gameObject);
} else {
Destroy (this.gameObject);
}
}
void Start () {
}
void Update () {
}
}
どうもMainシーンに戻った時にDestory()されているのは、新しく作られた方でなく、もとからあったほうで、そのため関連付けがNoneになっているようだ。
新しく作られた方をDestroy()する方法を模索中。