FC2ブログ
    11 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 01

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンUnityブログ】MonoBehaviour.Resetってすごく便利!今まで使ってこなかったのを悔いる毎日です! 

    こんにちは。坂内っす。

    ポケットガール~受け継がれし希望~よろしくお願いします。
    URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
    URL(iOS):https://itunes.apple.com/jp/app/id1539553611

    PV:


    UnityでResetってメソッド使ってますか?

    Reset
    https://docs.unity3d.com/ja/current/ScriptReference/MonoBehaviour.Reset.html

    デフォルト値にリセットします・・・・
    説明はそれだけのようです。


    private void Reset() {
    Debug.Log("リセット");
    }


    こんな感じでLogを出してみます。



    Resetの書かれているクラスをつけたり、リセットすると走るようですね。

    どんな時に使うといいのか・・・・?

    Resetが書かれているコードをアサインしたときに入るので、こんな時に使うといいのかもです!



    Item1と同じ構成のオブジェクトが複数ある時。

    そしてこんな感じで各オブジェクトをアサインしたい場合。





    一つ二つや5個くらいなら手でやってもいいんですが・・・
    数十個とかあるとさすがにめんどくさいですよね!

    そんな時!Resetメソッドに各アサインの処理を書いてあげると楽にアサインできるようになります。


    public class Blog1106 : MonoBehaviour
    {
    [SerializeField] Image img1, img2;
    [SerializeField] TMP_Text lbl1, lbl2, lbl3;

    private void Reset() {
    img1 = transform.Find("img1").GetComponent<Image>();
    img2 = transform.Find("img2").GetComponent<Image>();
    lbl1 = transform.Find("lbl1").GetComponent<TMP_Text>();
    lbl2 = transform.Find("lbl2").GetComponent<TMP_Text>();
    lbl3 = transform.Find("lbl3").GetComponent<TMP_Text>();
    }
    }


    こんな感じでアサインの処理を書いてあげます。

    これでItem1などにこのコンポーネントをアサインしてあげると、勝手に各項目にアサインをしてくれるんです。



    驚きの結果!すごい楽!
    これで簡単に複数項目をアサインできますね!

    ってことで、簡単に同じ構成のコンポーネントのアサインをする方法でした。

    あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/1023-475e7687
    この記事にトラックバックする(FC2ブログユーザー)