結論
GameObjectをDestroyするようにする。
using UnityEngine;
using UnityEngine.UI;
public class Main : MonoBehaviour
{
void Start()
{
// これだとだめ
Destroy(this);
// こっちが正しい
Destroy(gameObject);
}
}
経緯
年に1回ぐらいDestroyを書いているような気がするが、その都度意図した動きにならないことがほとんど。滅多に使わないので、コードの見た目的に問題ないよう見えてしまうのが辛い。来年以降のためにメモ。
まとめ
GameObject以外のコンポーネントを消したいと思ったことは無いが、何らかの良い用法があるのだろうか。(歴史的経緯で)いらないコンポーネントはenable=falseで対応しているが、他にも小技があるかもしれない。
コメント