【Unity】RPGを作るチュートリアルその22 戦闘のコマンドの定義

【Unity】RPGを作るチュートリアルその22 戦闘のコマンドの定義

シンプルなRPGをUnityで作るチュートリアルシリーズの22回目です。

第21回では戦闘のフェーズの定義や、ゲーム全体の状態の定義を実装しました。

今回は戦闘で選択できるコマンドについて実装方針を固め、定義を作成していきます。

 

 

制作環境

MacBook Pro 2023 Apple M2 Max

Unity6 (6000.0.30f1) Silicon

 

作業内容と順序

シンプルなRPGを作る上でどんな作業が必要か、どんな順番で作っていくと良さそうか、別ページで検討しました。基本的にこの流れに沿って進めていきます。

 

チュートリアルの一覧

このシリーズ全体の一覧は以下のページにまとめています。

 

前回の内容

前回は戦闘のフェーズの定義や、ゲーム全体の状態の定義を実装しました。

 

戦闘のコマンドの方針

コマンドについてはすでにUIを作っているのでそれと同じように実装していきましょう。

すっきり
コマンド

 

戦闘のフェーズがコマンド入力の「InputCommand」になっているときに上下の矢印キーでカーソルを移動させ、決定キーで選択するようにしましょう。今回はターゲット選択を入れないので、攻撃や逃げるを選んだら行動開始、魔法やアイテムを選んだら選択ウィンドウが表示される、なんて流れにします。

決定キーに関しては、よくあるのがZキー、エンターキー、スペースキーでしょうか。3つのキーに関して検知できるように、入力を検知するためのクラスも後続のチュートリアルで作っていきましょう。

 

戦闘のコマンドの定義

コマンドの定義に関してもEnumで作成していきます。Projectウィンドウから「Assets/Scripts/Enums」のフォルダに移動して、空のスクリプトファイルを作成します。名前は [BattleCommand] にしました。

スクリプトの作成
スクリプトの作成

 

作成した「BattleCommand」の中身については以下のように記載しました。

上から攻撃、魔法、アイテム、逃げるに対応しています。

今回作成したクラスに関しても動作確認はまだできないので、コンパイルエラーがなければOKです。ちょっと短いですが、細かい準備がたくさんあるので区切りの良いところで終了にしておきます。先が長いので箸休めポイントかもしれません。

 

今回のブランチ

 

まとめ

今回は戦闘のコマンドを定義しました。といってもUIを作る時点でほぼ決まっていたので、それをコードに変えただけではあります。

次回は以前定義データの構造をいくつか修正していきます。具体的には魔法データとアイテムデータに関して、効果の部分を変更します。ええ、戦闘部分を実装してみたら「やっぱりこうした方がやりやすいかな?」と思ってしまったんです。なるべくデータ構造は変えないようにはしたいのですが、プロトタイプを作ってみると気付くことも多いんですよね。

     

ゲーム開発の攻略チャートを作りました!

CTA-IMAGE

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!