Phaser 3 | ゲームのプレイ速度を変更する方法
Phaser3でのゲーム速度をグローバルに変更する方法のサンプルコードです。
この方法はゲーム全体の速度を調節したい場合や、倍速モードのような仕組みを実装するのに利用できます。
ゲームのプレイ速度を変更する方法
Phaser3でゲーム速度をグローバルに変更するには最大で3種類のコードをcreateに追加する必要があります。
create() {
this.physics.world.timeScale = 1;
this.tweens.timeScale = 1;
this.time.timeScale = 1;
}
※動作確認した動作環境はPhaser3 v.3.20.1、physicsのarcadeになります
これらのコードは、記述したシーン内でのみ実行されます。
tweenをゲーム内に実装していなければ「tweens.timeScale」は不要です。
「time.timeScale」はtimeイベントだけでなくVelocityの動作速度も制御されますので必要な場合が多いと思います。
何故かはわかりませんが「physics.world.timeScale」は値が小さくなるほど、ゲーム速度は早くなり「tweens.timeScale」と「time.timeScale」は値が大きくなるほど早くなる仕様なので注意が必要です。
(多分ですが)「physics.world.timeScale」を「0.5」、「tweens.timeScale」と「time.timeScale」を「2.0」に設定する事で2倍速のゲーム速度になるかと思います。
create() {
this.physics.world.timeScale = 0.5;
this.tweens.timeScale = 2;
this.time.timeScale = 2;
}
ディスカッション
コメント一覧
まだ、コメントがありません