Unity万年初心者のノンプログラマです。
ヒエラルキービューに複数のUIオブジェクト(テキストやボタンや画像)を配置して、ボタンを押すとテキストが変わったり、表示/非表示を制御するようなゲームプログラムを作っています。(昔の「信長の野望」のようなものです)
今までは、UIオブジェクトをすべて
C#
1public GameObject messageText; 2public GameObject nextButton;
のようにGameObjectで宣言して、インスペクタービュー上でそれぞれのオブジェクトをアタッチして制御していました。
(GameObject.Findを多用すると実行速度に影響すると聞いたので、インスペクタービューで手作業でセットする方法にしています)
ですが先日、GameObjectではなく、それぞれのオブジェクトタイプ(?)で宣言しているコードを見て、理解が混乱してしまいました。
上記のコードを置き換えると、以下のようになります。
C#
1public Text messageText; 2public Button nextButton;
この場合、messageTextやnextButtonはオブジェクトではなくコンポーネントのように振舞っているように感じます。
つまり、
・GameObjectで宣言したものにアタッチするとオブジェクトになる
・Textで宣言したものにテキストオブジェクトをアタッチするとテキストコンポーネントになる
・Buttonで宣言したものにボタンオブジェクトをアタッチするとボタンコンポーネントになる
という理解でよいでしょうか?
わかったようなわからないような、どこか誤解しているような、混乱している状態ですので、初心者向けに教えていただければと思います。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。