如何在一个场景(Phaser)中改变重力?

How to change gravity just in one scene (Phaser)?

我想学习使用 Phaser 制作游戏。

我知道你在配置中定义了重力,像这样:

var config = {
        type: Phaser.AUTO,
        width: 800,
        height: 600,
        physics: {
            default: 'arcade',
            arcade: {
                gravity: { y: 300 },
                debug: false
            }
        },
        scene: [FirstScene, SecondScene,...]
    };

但这适用于所有场景。 有没有办法在一个场景中改变重力。

您可以通过在场景的构造方法中重新定义物理设置来指定特定场景的重力。

class FirstScene extends Phaser.Scene {
  constructor() {
    super({
      key: 'first',
      physics: {
        default: 'arcade',
        arcade: { 
          gravity: { y: 2000 }
        }
      }
    });
} 

查看 API Docs 以查看在逐个场景的基础上还可以配置什么。