Fortnite UEFN VERSE

【VERSE】「レッスン 5:関数を呼び出す」をフォートナイトに例えて解説


初心者

レッスン5に入ったけど

呼び出し?メソッド?よくわからないな...

当サイトでは、フォートナイトに例えて発信しています!

とーや


今回は、関数をメインとしている【レッスン 5:関数を呼び出す】を解説していきます。


レッスン5を抑えればキャラクター動作への理解が高まり、自由にキャラクターを動かせるようになるので頑張りましょう!


関数で式を使用する


プログラミンは、自分がやりたいアクションをコードに書き出すことです。

でも、同じアクションを何度もやりたいとき、それをいちいち書き直すのは大変。

そこで「関数」っていう便利な道具を使うんだ。


関数は、特定のアクション(動作)を表すコードを、何度でも使えるようにまとめたもの。

「式」という小さなコードのパーツを組み合わせて作ります。

関数を作るとき

  • 他の関数と間違えないような「ユニークな名前」
  • 関数が出す答えの種類(型)
  • 関数が呼ばれたときに何をするか(動作) を決めるよ。

関数の基本的な形はこんな感じ。

markdownCopy code名前() : 答えの型 =
    実行するコード


※「実行するコード」を書く部分を「コードブロック」といいます。


関数と関数呼び出し


「関数」は一連の動作を名前で呼び出せるようにしたもの。


ゲームで「ねずみ捕りを作るたびにコインを減らす」という動作を何度も使うとします。

その動作を毎回書くのは面倒ですが、それを一度「関数」にまとめておくとその名前を呼ぶだけで、その動作を何度でも繰り返すことが可能です。

例えば「GetRandomInt(1, 10)」っていう関数は、1から10までのランダムな数字を選ぶ関数で、この関数を呼び出すと毎回違う数字が出てきます。


あなたが作っているゲームでは、ねずみ捕りの価格をランダムに設定したいと思うかもしれない。

「GetRandomInt()」を使うと、毎回違う価格でねずみ捕りが作れます。

javaCopy codevar Coins : int = 500
CoinsPerMousetrap : int = GetRandomInt(1, 100)
Print("Coins starts at {Coins}.")
set Coins = Coins - CoinsPerMousetrap
Print("After buying one mousetrap, Coins is {Coins}.")

※ここで、「#」から始まる行は、あなた自身や他の人が後でこのコードを見返したときに、何をやっているのか分かりやすいように書く説明文です。


メソッド


「メソッド」は特殊な「関数」のことで、それぞれの「型」に関連付けられている動作のことを指します。

例えば、キャラクターに「走る」や「ジャンプする」なんて動作をさせたいときには、そのキャラクターの型に関連付けられた「走る」や「ジャンプする」のメソッドを使う。


でも、メソッドを使うときには、ちょっと特殊な書き方が必要で「.(ドット)」を使ってそのメソッドが何に関連しているのかを示す必要があります。

例えば、キャラクターの「Cat」が「Pounce」(飛びかかる)動作をするときには、「Cat.Pounce()」と書く。


フォートナイトで考えると、スキンの「Ninja」が「ダンス」をするときは、「Ninja.Dance()」って書く感じ。

これで、「Ninja」が「ダンス」する動作を起動できます。


クラス


「クラス」は、似たような動きや特性を持つものを作るための型のようなもの。

例えば、「プレイヤー」や「武器」がクラスとして考えられていて、クラスはいろんな情報をまとめて持っています。


「サブクラス」というのがあり、これはクラスから特性や動きを受け継いだ新しいクラスのことを指す。

フォートナイトで考えると、「武器」がクラスで、「ショットガン」や「スナイパーライフル」がそのサブクラスという感じ。

さらに、「メソッド」というのは、特定のクラスにしか使えない特別な関数のこと。なので、全てのクラスで全てのメソッドが使えるわけではない。

例えば、「リロード」は「武器」クラスにしか使えないメソッドです。


まとめ


今回の記事の要点をまとめさせていただきます。


  • 関数→ 一連の行動の名前をつけたもので、何度も使うことができる
  • 関数呼び出し→ 「ジャンプ前進」を使いたいときに「ジャンプ前進()」と書くなど
  • メソッド→ 特定の種類の物事についての関数
  • クラス→ 色々な型のデータをまとめたもの
  • サブクラス→ 共通の動きや特性を持つものをまとめる


今回は、関数でキャラクターの細かい動作などを編集できることが勉強しました。


もし、質問やわからないことがございましたらDMやコメントをお願い致します!


最後までお読みいただきありがとうございました(@^^)/~~~

とーや


-Fortnite, UEFN, VERSE
-, , ,