キー入力で任意の関数を実行する(Phaser3)

この記事は約2分で読めます。
スポンサーリンク

やりたいこと

Phaser3でキー入力があったときに任意の関数を実行します。

以下の方法で登録し

this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.A);

updateの中で上記返り値の以下の値を取得することで、任意のコードを実行することはできます。

isDown

しかし行動以外のキーイベント(例えばポーズやリトライ)などはUpdateの中に書かない方がいいと思います。

スポンサーリンク

onによる実装

以下のようにOnで実装することができます。

だいたいの場合Createで呼ぶのがいいと思います。

Spaceキーが入力されるとlistenerが実行されます。

        this.input.keyboard.on('keydown-SPACE', listener);

‘keydown-SPACE’のSPACE部分は任意のキーに書き換えが可能です。’keydown-A’に変更することで、Aキーが入力された場合に実行されるようになります。

listenerはEventを引数にする関数です。

関数を定義しなくても以下の用に記載も可能です。

        this.input.keyboard.on('keydown-SPACE', event =>
        {
            //処理
        });
スポンサーリンク

結果

キー入力をあった場合、Updateを使用せずに処理ができるようになりました。

スポンサーリンク

参考にさせていただいたサイト

Phaser 3 Examples

コメント

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