「Unity」初心者向けインターフェイスの活用例!!

f:id:hiromunomymail:20210617015823p:plain

はじめに

今回は前作「暗算の道」で養った。 継承テクニックを皆さんに紹介したいと思います!

初心者でも簡単にインターフェイスの活用事例が分かる記事に成っているのでお楽しみください。

今回の完成予定

AttackerクラスIWeaponインターフェイスを継承した

SwordクラスMagicクラスを使用する形を今回の完成イメージとしましょう。

コードの紹介

IWeapon.cs

これが今回のメインである。IWeaponインターフェイスです。

要するに武器って事ですね。これを継承して剣や魔法の杖と言った武器が作れます。 gist.github.com

Attacker.cs

Attackerクラスです。主にプレイヤーとしての立ち回りを今回はしてくれます。 gist.github.com

SwordWeapon.cs

IWeaponを継承した剣クラスです。 gist.github.com

MagicWeapon.cs

IWeaponを継承した魔法クラスです。 gist.github.com

全体の説明

この様にIWeaponインターフェイス継承させておけば
使う側のAttackerでは、武器が何の武器か知らなくても良い点が優れていると思いますね。

その為主人公の武器が魔法から剣に変えたいとしても
一切コードの修正が要らないのがこのコードの強みです

Unityでの使う

それではUnityで使用してこのコードの楽さを体験してみましょう。 f:id:hiromunomymail:20210617014153p:plain

準備として上記の様に空のオブジェクトに
Attacker.csをアタッチしましょう

それでは、このオブジェクトにSwordWeaponを取り付けてみます。

f:id:hiromunomymail:20210617014614p:plain

実行してみると

f:id:hiromunomymail:20210617014635p:plain

上記の様に表示されたはずです。

次は上の要領でMagicWeaponSwordWeaponの代わりにアタッチしてみましょう

f:id:hiromunomymail:20210617015548p:plain

f:id:hiromunomymail:20210617015605p:plain

どうでした簡単に武器の切り替えが行えたと思います。
インターフェイスが無ければ武器を変える毎にソースコードの変更を行う必要がありました。

初心者の皆さんもなるべく汎用化させたクラスを使用するようにすると
プログラムの修正が減りゲームの拡張性も高まると思うので
機会を見つけたらドンドン挑戦してみて下さい。