privateでもInspector上にオブジェクトをセットできる
環境
Unity 5.5.2f1
言語 : c#
Unity 5.5.2f1
言語 : c#
本来Inspector上にオブジェクトをセットするのであれば
public
にしないといけない所ですが
SerializeFieldを使えば、privateでもInspector上に置く事ができる。
例:緑色の絵を実行したら赤色にする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Test_SerializeField : MonoBehaviour { [SerializeField] private GameObject objImage; // Use this for initialization void Start () { objImage.GetComponent<Image>().color = Color.red; } // Update is called once per frame void Update () { } } |
で、privateですがInspector上に格納する場所ができます。
格納するのは色を変えるImageですね。

↑こんな感じで任意のオブジェクトを置く事ができる。
その後は
objImage.GetComponent<Image>().color = Color.red;
で、SerializeFieldで格納してあるオブジェクトにアクセスして色を赤にするだけです。
起動すると黄色の四角が赤色に変わります。
SerializeFieldを使うメリット
- 子要素をいじってるのでわざわざ重い「FindChild」をしなくて済む
- 直感的で分かりやすい
でわこの辺で!
でわでわ~ノシ
よければtwitterフォローお願いします!
Follow @えくれあ
おすすめ記事
コメントを残す