[Unity]FPSゲームで銃にリロード機能・弾数機能を追加する方法(画像付き)(2024)

銃に弾数とリロード機能をつける方法を解説していきます。
銃から弾丸を発射させる説明はないのでもし銃の作り方を知りたい人はこちらの記事を参考にしてください。

作るのは下の動画の通りで、右上に弾数が表示され、弾丸を撃つたびに数が1減ります。0になると銃を撃つことができなくなりますが、キーの「R」を押すことで数値が12になります。これがリロードですね。

ではやり方を解説していきます。まず銃から弾丸を発射するためのスクリプトを開きます。自分は以下のスクリプトに弾丸を発射させるためのコードを書いているのでこれにコードを追加していきます。

一応各コードに説明を載せています。

これに画像と同じコードを追加します。追加したコードには赤矢印でコードの説明がされているので赤矢印が就いているコードを参考にしてください。

一つずつ説明すると、まずは弾丸に数をつけてくれる変数を作ります(10行目)。次に弾丸を発射するコードに条件を追加して、弾数が0だと弾丸が発射されないようにします(20行目)。そして弾丸が発射されると弾数が1減るようにします(26行目)。次にキーのRを押したときにコードを処理するコードを作ります(28行目)。そしてその中に弾数を元の数値にするコード、画像だと12ですね。にするコードを作ります(30行目)

これで弾数とリロードは完成です。

次に画面上に残りの弾数を表示されるようにしていきます。ヒエラルキーの「+」マークから「UI」→「古い機能」→「テキスト」とクリックしていきます。

そして先ほどのスクリプトに再びコードを追加していきます。
追加したコードにも赤矢印で説明をつけているので赤矢印がついているコードを入力してください。

説明すると画面内のテキストを変更するコードを追加しています。なのでまずはテキストというUIをイジるためのコードを追加します(4行目)。そして弾丸の数を表示させるテキストを追加します(12行目)
最後にテキストの内容を弾丸の数を教えるものに変えるコードを入力します(14行目)
この14行目のコードは条件付きのコードの{}内に入らないように注意してください。

完成したら先ほど追加したテキストの位置を画面内の好きな所に移動して、スクリプトの「T_bulletcount」に入れます(画像赤矢印)

こちらに他にもFPSシューティング作りで役立つ情報が集まった記事があるので良ければ参考にしてください。

[Unity]FPSシューティングゲームの作り方、参考になる記事

TOPに戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です