FC2ブログ
    05 «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.» 07

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

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

     

    【ハルシオンブログ】拡張メソッド使ってますか? 

    こんにちは。
    大坂です。

    なんか朝から咳が止まりませんが、気のせいですよね・・・たぶんきっと・・・。

    さて、皆さん拡張メソッドって使ってますか?
    僕は使ってません(ぇ

    何やら便利な感じもするのでちょっとだけ記事に。
    まぁ他にもいっぱい記事がありますけどね。

    例えばTransformのy座標だけ変えたいときとかこうは書けません。
     transform.position.y = 15;


    エラーになりますね。
    変えたいときはこんな感じで書いてあげないといけないです。
    Vector3 pos = transform.position;
    pos.y = 15;
    transform.position = pos;


    毎回こんなの書くのも面倒だし、なんか見難いし。
    ということでこういうときは拡張メソッドを使うといいらしいです。

    書き方はこんな感じ?
    using UnityEngine;

    public static class TransformExtensions {

    public static void SetPosY(this Transform tran, float y) {
    Vector3 pos = tran.position;
    pos.y = y;
    tran.position = pos;
    }
    }


    staticクラスでstaticメソッドとして書きて、
    第一引数の拡張してあげたいクラスであるTransformにthisをつけてあげます。

    そうするとこんな感じで使えます。
     transform.SetPosY(15);


    あ、ちゃんとVisual Studioの自動補完にも出てきます。


    ということでちゃんと活用すると便利そうですね!
    ってことで今週も終わり!
    またノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

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