LoginSignup
24
18

More than 3 years have passed since last update.

【Unity(C#)】コンポーネントのON・OFF(enable)とゲームオブジェクトの表示・非表示の切り替え(SetActive)

Last updated at Posted at 2018-11-10

  
  

この記事は

『プログラミング完全未経験からUnityでの開発現場に迎え入れてもらえた世界一の幸せ者』

の記事です。そのつもりでお読みください。

  

コンポーネントのON、OFF(enable)

enable はインスペクターにチェックボックスがあるタイプのコンポーネントなら、ON,OFFできる。(たぶん)
無題.png

Renderer _renderer;
GameObject cube;

 _renderer = cube.GetComponent<Renderer>();
 _renderer.enabled = false;

SetActiveはゲームオブジェクトの表示をオン、オフに切り替える。

GameObject cube;

cube.SetActive(false);

  
  
enableに出会うまでは なんでもかんでもSetActiveかDestroy使ってました。。。


2019/04/01 追記
コンポーネントそのものを削除したい!...という場面に出くわしたのでメモしときます。

Destroy(参照したいゲームオブジェクト.GetComponent<削除したいコンポーネント名>());

2019/04/9 追記
ゲームオブジェクトの存在確認で便利なものを見つけました。
ゲームオブジェクトのアクティブ・非アクティブに関係なく参照できます。

if(ゲームオブジェクト名)
{
  //存在してたら実行
}

ちなみにactiveInHierarchyを使うと
ゲームオブジェクトのアクティブ・非アクティブ状態を参照できます。

if(ゲームオブジェクト名.activeInHierarchy)
{
  //アクティブなら実行
}

24
18
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
18