GodotEngine4 入力のアクション設定とキャラの移動

2D / 3D ゲームを作成できる無料・オープンソースの軽快なゲームエンジン「Godot Engine 4」で、公式チュートリアル「Coding the player — Godot Engine (stable) documentation in English」を参考にして作成したキャラクターをアニメーションさせながら移動させるスクリプトで用いているアクション名に対応する入力のアクション(キー入力イベント)をインプットマップで設定します。

入力を正しく検知して、スクリプトによってキャラクターが移動することをテストします。

GodotEngine4 2D チュートリアルを参考にしてキャラクターを移動

※ Godot Engine のバージョンは 4.1.2 .NET です。
※キャラチップ画像は「キャラメル -CharaMEL-」で作成しました。

前回の記事

前回は、移動するキャラクターを管理する Player ノードに、そのための C# スクリプトを作成して割り当てました。

GodotEngine4  player.cs スクリプトが作成され 2D から Script に切り替わりました.

しかし、スクリプトの _Process 関数内の

Input.IsActionPressed("move_right")

Input.IsActionPressed の引数の文字列については、入力のアクション名としてまだ設定していないので、入力を検知した処理が行えません。

move_right は、[→]キーが押されたときなど、右方向への入力のアクションの名前です。

入力のアクションの追加

前回 Player ノードにアタッチしたスクリプトで用いている move_right などの入力のアクション「プロジェクト設定」ウィンドウの「インプットマップ」を開いて設定します。
※メニュー「プロジェクト」→「プロジェクト設定」を選択して「プロジェクト設定」ウィンドウを表示します。

GodotEngine4  player.cs スクリプトで用いるアクションを追加するためにメニュー>プロジェクト>プロジェクト設定を選択します.

「プロジェクト設定」ウィンドウを開いて「インプットマップ」タブを選択します。

左上のテキストボックスにアクションの名前を入力してから、右側の「追加」ボタンを押すと、「アクション」のリストにアクション名が追加されます。

GodotEngine4  player.cs スクリプトで用いるアクションの名前を入力して追加ボタンを押すとインプットマップにアクションが追加されました..

リストのアクション名の右側の + ボタンを押すと、どの入力に対応させるかを設定する「イベントの設定」ダイアログが表示されます。

一番上のテキストにフォーカスした状態で、右方向への入力のアクションならば [→] キーを押しましょう。
下図のように自動的に、イベントが対応する入力内容が設定されます。

GodotEngine4 インプットマップで追加したアクションの+ボタンを押してからイベントの設定ウィンドウの一番上のボックスを選択して→キーを入力すると設定されました.

同様に、残り3方向の入力についても、スクリプトで使っているアクション名で追加して設定します。

GodotEngine4 インプットマップで move_right 同様に他の3方向のアクションも設定しました..

入力のアクションが反応するかのテスト

入力のアクションが正しく設定されていれば、スクリプトの _Process イベントで毎フレーム、上下左右のキーの入力のアクションがあったかを判別して、あれば処理に従って、その方向に向きを変えてキャラクターが移動します。

シーンを実行するには、エディターの右上の「特定のシーンを実行」ボタンを押します。
ウィンドウが起動して、シーンが実行されます。

GodotEngine4 エディター右上の特定のシーンを実行ボタンを押すとウィンドウが起動してシーンが実行されます.

矢印キーを入力すると、その方向にアニメーションしながらキャラクターが移動しました。

GodotEngine4 2D チュートリアルを参考にしてキャラクターを移動

まとめ

今回は、2D / 3D ゲームを作成できる無料・オープンソースの軽快なゲームエンジン「Godot Engine 4」で、公式チュートリアル「Coding the player — Godot Engine (stable) documentation in English」を参考にして作成したキャラクターをアニメーションさせながら移動させるスクリプトで用いているアクション名に対応する入力のアクション(キー入力イベント)をインプットマップで設定しました。

入力を正しく検知して、スクリプトによってキャラクターが移動することをテストして、正しく反応することを確認しました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました