Phaser3で一定時間操作を無効にする

// 入力を無効にする
scene.input.enabled = false;

// 1秒間(1000ミリ秒)後に処理を呼び出す
scene.time.delayedCall(1000, () =>
{
    // 入力を有効にする
    scene.input.enabled = true;
}, [], scene);

ユーザーがボタンを押した後、数秒間操作を無効にしたい時などに使える

ゲームのポーズ機能を実装する場合は、シーンのアップデートもあわせて停止するとよさそう

let isPaused = false;

function togglePause(scene) {
  if (!isPaused) {
    // 全ての操作を無効にする
    scene.input.enabled = false;

    // シーンのアップデートを停止する
    scene.scene.pause();
  } else {
    // 全ての操作を有効にする
    scene.input.enabled = true;

    // シーンのアップデートを再開する
    scene.scene.resume();
  }
  isPaused = !isPaused;
}

コメント

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