【ハルシオンブログ】オブジェクトをnullにする場合は、DestroyよりDestroyImmediateを使った方がいいらしいですよ?
おはようございます。月曜の朝です!
1週間が始まりました。坂内です。
Unityでのnullの話。
例えばこんなコード
[Blog0607.cs]
lblTextにはなにもアサインしていません。
Null
UnityEngine.Debug:Log(Object)
Blog0607:Start() (at Assets/Scripts/Blog0607.cs:12)
「Null」が表示されました。
では次にlblTextにTextのオブジェクトをアサインします。
Text (UnityEngine.UI.Text)
UnityEngine.Debug:Log(Object)
Blog0607:Start() (at Assets/Scripts/Blog0607.cs:12)
「Null」ではなくなりました。
では、アサインした後にコードでnullにしてみましょう。
nullを入れるとnullになりますが、Destroyだとnullにはなりません。
結果はこちら。

実はDestroyだとすぐには消えないようです。
こいつをすぐに消すには、Destroyを使わずにDestroyImmediateを使うといいらしいですよ。

ということで、すぐに消したい場合はDestroyImmediateを使いましょう。
では、あでゅ~ノシ
1週間が始まりました。坂内です。
Unityでのnullの話。
例えばこんなコード
[Blog0607.cs]
using UnityEngine;
using UnityEngine.UI;
public class Blog0607 : MonoBehaviour
{
[SerializeField] Text lblText;
void Start()
{
Debug.Log(lblText);
}
}
lblTextにはなにもアサインしていません。
Null
UnityEngine.Debug:Log(Object)
Blog0607:Start() (at Assets/Scripts/Blog0607.cs:12)
「Null」が表示されました。
では次にlblTextにTextのオブジェクトをアサインします。
Text (UnityEngine.UI.Text)
UnityEngine.Debug:Log(Object)
Blog0607:Start() (at Assets/Scripts/Blog0607.cs:12)
「Null」ではなくなりました。
では、アサインした後にコードでnullにしてみましょう。
using UnityEngine;
using UnityEngine.UI;
public class Blog0607 : MonoBehaviour
{
[SerializeField] Text lblText;
[SerializeField] Text lblText2;
void Start()
{
Debug.Log(lblText);
Debug.Log(lblText2);
lblText = null;
Destroy(lblText2);
Debug.Log("-----------------");
Debug.Log(lblText);
Debug.Log(lblText2);
}
}
nullを入れるとnullになりますが、Destroyだとnullにはなりません。
結果はこちら。

実はDestroyだとすぐには消えないようです。
こいつをすぐに消すには、Destroyを使わずにDestroyImmediateを使うといいらしいですよ。
using UnityEngine;
using UnityEngine.UI;
public class Blog0607 : MonoBehaviour
{
[SerializeField] Text lblText;
[SerializeField] Text lblText2;
void Start()
{
Debug.Log(lblText);
Debug.Log(lblText2);
lblText = null;
DestroyImmediate(lblText2);
Debug.Log("-----------------");
Debug.Log(lblText);
Debug.Log(lblText2);
}
}

ということで、すぐに消したい場合はDestroyImmediateを使いましょう。
では、あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】AndroidLogcatでキャプチャーとれるんですね。 | 【ハルシオンブログ】LINQのToLookUpを使ってみた »
コメント
| h o m e |