ぱふの自由帳

ぱふの技術ブログ。メインはUnity。最近、Railsかじり始めましたー!良ければフォローお願いします(`・ω・´)

【Unity公式チュートリアル】スクリプティング〈レッスン2.1-2.18〉

この記事について

注意事項

  • 特に断りがない限り、C#について記述しています
  • 私&誰かの役に立ちそうなプチ知識をまとめています
  • 今回からレッスンタイトルにざっくりとした概要をつけました!←new!

レッスンタイトル&概要一覧

2.1 Properties
プロパティはカプセル化に役立つというお話。

2.2 Ternary Operator
三項演算子のお話。

2.3 Statics
Staticsとは?というお話。

2.4 Method Overloading
オーバーロードって?どういう優先順位で実行なの?というお話。

2.5 Generics
下のコードを見て「あ。ジェネリックじゃん。」って方は飛ばしておk。

public T GenericMethod<T>(T param)
    {
        return param;
    }

2.6 Inheritance
継承って聞いたことあるけどよく知らない...という方はみると良いかも。

2.7 Polymorphism
ポリモーフィズムについてというタイトルだがアップキャストとダウンキャストの話が主になっている。継承がよく分からない方には難しい?

2.8 Member Hiding
継承のときに使うnewのお話。

2.9 Overriding
オーバーライドのお話。

2.10 Interfaces
インターフェースについて簡単に解説している。

2.11 Extension Methods
拡張メソッドの意味 / 実装 / 呼び出し方法を解説している。

2.12 Namespaces
名前空間の作り方と使い方の説明。

2.13 Lists and Dictionaries
リストと辞書の基本的な使い方について。リストをMyルールでソートするための方法についての解説も少しだけある。

2.14 Coroutines
コルーチンの使い方の説明。「プロパティと組み合わせると効果があるよ。」という話も入っている。

2.15 Quaternions
クォータニオンの理論的な説明をするのではなく、Quaternionクラスに用意されている関数の使い方が主な内容。使ったことがない方は一度見ておくと何かと役に立ちそう。

2.16 Delegates
デリゲートについての話。以下のコードが「?」な方は是非見るべし。ただ、0知識からだと少し辛いかも?

delegate void MultiDelegate();
MultiDelegate myMultiDelegate;
    
void Start () {
    myMultiDelegate += PowerUp;
    myMultiDelegate += TurnRed;
    
    myMultiDelegate();
    }
    
    void PowerUp() {
        print ("Orb is powering up!");
    }
    
    void TurnRed() {
        renderer.material.color = Color.red;
    }

2.17 Attributes
属性の話。「属性?コードのあの部分でしょ?」って方は見なくてOK。「属性?なにそれおいしいの?」って方は一度眼を通すと良い。

2.18 Events
イベントの発生や購読 / 解除の仕方を説明。便利なので知らない方は見ておく価値あり。デリゲートの知識がないとわからないので注意。

オーバーロード時、どれが実行される?

  • 引数が完全一致するメソッドが存在する
    →そのメソッドが実行される

  • 引数が完全一致ではないが実行可能なメソッドが存在する
    →変換の少ないメソッドが優先的に実行される

  • 実行可能なメソッドが存在しない
    →エラー

new と overrideってどう違うの?

「たまには真面目に解説作るぞ!」と思って絵を書いているのですが間に合いそうに無いので私がすっきりした記事を紹介しておきます。

gacken.com

解説記事が出来上がったら差し替えます...(`・ω・´)

ひとこと

チュートリアルが各項目のさわりをさらっと解説しているので豆知識部分が少なくてすいません...。「デリゲートの解説!」みたいな項目作っちゃうとチュートリアル外の部分も解説しなきゃなので見送っています。面倒って理由もあr...

この先も豆知識的なの書けないままチュートリアルが進みそう...(´・ω・`。)

初心者/熟練者を問わずTwitterのフォローお待ちしています...(`・ω・´) ヨロシク!