コース: Unity 2018 基本講座:プログラム

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

属性を使って拡張する

属性を使って拡張する

このレッスンでは 属性について解説します。 C# にはクラスや変数定義に 属性を付与でき、 特別な挙動を設定できます。 現在は「MyScript」という コンポーネントが Cube についています。 では属性について 説明していきます。 まずプロパティ 作ってみましょう。 private で int そして number 数字には 10 と入れておきましょう。 こちら private ですと、 Unity からは Inspector で このプロパティは見えません。 しかしこちらを public にすると Inspector からプロパティが 見えるようになります。 しかし private の状態に しておきたいということがあります。 他のクラスからこの数字を 書き換えられたくない、 そういったときには private にしておきたいです。 ただ Inspector からは数字をいじって 調整したいということがあると思います。 そういうときには SelializeField という文字を鉤括弧で挟んで プロパティの上、もしくは前に このように宣言しておくと Inspector から アクセスできるようになります。 現在 private ですが、きちんと Inspector から見えるようになっています。 もちろんこのように Inspector に 出しておくと 再生しながら数値を変えられます。 キャラクターのスピードの調整なんかも プログラムを都度書き換えることなく こちらで調整できて便利です。 続いてこの数値の調整ですが 先ほどテキストフィールドだったのですが Range というものを 使ってみましょう。 Range には引数が2つあり、 0から 100 とここでは入れてみます。 そして Unity を見てみましょう。 ここでは数値が 今度スライダーに変わりました。 テキストフィールドだった数値が スライダーに変わりました。 このようにインターフェースを 変えることもできます。 続いて先ほどと逆のことを やってみましょう。 private にして、 Inspector に公開しましたが 今度は逆です。 public、クラスからはアクセスしたいけど Inspector からはいじらないでほしい、 そういった時には System.NonSerialized…

目次