![コメント_2020-02-20_110409](https://assets.st-note.com/production/uploads/images/19592848/rectangle_large_type_2_d54f49d368d1dd5b5385c376af3f6a18.jpeg?width=1200)
Unity に学ぶ オブジェクト指向。
(あ、技術的なことを解説している話ではなく、ふわっとした話だけなのでそのへんだけご了承くださいw)
プログラミングを学ぶといろいろなキーワードが飛び込んできます。すぐに覚えるべき直感的なものから、昔からよく言われている概念的なものまで。
そして、今のプログラミングを学ぶのになくてはならないと言われているのが「オブジェクト指向」。まぁ実際これを説明できるように理解する必要はなくて、コードが書けるようになれば「今考えればあれがそうなのね」という感じで紐づくと思います。
オブジェクト指向
私もよくわかってないですw。厳密な定義はあるのか無いのかよくわからない。なんとなく「アプリの中で使うモノを作って、機能をつけて、それを使ったアプリを作っていこう」的な考え方?
マリオはスティック操作で移動します。ボタンを押すとジャンプします。
ルイージはスティック操作で移動します。ボタンを押すとジャンプします。
これ2つ分のキャラをいちいち作ってたら大変です。
...すいません。キャラ弁の話ではないのですが、キャラ弁の場合はルイージ分も一から作らなければならないですよね。三国志のアプリだったら登場人物何人いるの?どれだけ作らないといけないの?ってことになります。なので、
スティック操作で移動します。ボタンを押すとジャンプする「モノ」である「キャラのマネキン」を作ります。
ベースとなるマネキンが出来たら、それを「使って」2つのキャラを作ります。
マネキンで、見た目は赤い服着た髭のおじさん。小さめ。
マネキンで、見た目は緑の服着た髭のおじさん。細め。
効率がいいんです。
みんなで作れる、再利用しやすい
オブジェクト指向的なことができると、「モノ」を作る人、「モノ」を使って色々作る人、見た目を作る人、など作業を分担することが出来ます。そしてキャラが増えても対応しやすいんですね。
全部コツコツ作ることも出来ますが、これのおかげでアプリ開発の作業効率は格段に進化しました。OSの機能を借りて作る、というアプリの特性にもマッチします。
Unity は直感的オブジェクト指向型開発ツール
Unity でははじめに空間に物を置きます。そしてそこに特性をつけていきます。色だったり、動きだったり。これが楽しくて気がつくと何時間もやってたり。
これがオブジェクト指向で言う「モノ」「マネキン」の原型です。
これをAssetパネルに移動させると、プレハブという「原型体」が出来ます。これこそオブジェクト指向の「モノ」「Object」「マネキン」そのものです。
出来たプレハブを、また空間の方にドロップすると、複製されたプレハブの実態が現れます。これは大きさを変えたり、色を変えたり、機能を追加することが出来ます。これが「再利用」。
Unity のプレハブとはオブジェクト指向のオブジェクトそのものです。
まぁ、こういう話はUnityが出来てからずーーーーーーーーーーーーーっと話されてきたものだとは思いますがwww
これで教えたかった
昔オブジェクト指向プログラミングてきなものを教えたこともあります。
「人」クラスがあって、それを派生した「プログラマー」というインスタンスがあって、プログラマーインスタンスには、床で寝る という特性もあって...。クラスを覚えている前提なのか、クラスを教えようとしていたのか、多分後者だと思いますが。
あの時、Unity があったら楽だったのになぁって思っゃいます。
これからプログラミングの授業が進められるならば、ぜひUnityでの開発を体験してほしいですね。「ゲームでしょ?」と言われるかもしれませんが、若い人には「ゲームを作れる」ことで大きなモチベーションを引き出すことが出来ます。さらには xR といった新しいデバイスのアプリも作れます。
絶対にいいと思う。その時はぜひ講師として呼んでくださいな。それまで頑張って勉強しておきますw
皆様からのサポートで、私も何かをサポートできるような更新を目指します。