Scene-Specific Physics Configuration
Demonstrates how to define Arcade Physics settings, such as gravity, within an individual Scene's configuration object rather than the global Game configuration.
800 × 600
class Boot extends Phaser.Scene
{
constructor ()
{
super({ key: 'boot' });
}
preload ()
{
this.load.setBaseURL('https://cdn.phaserfiles.com/v410');
this.load.image('sky', 'assets/skies/space2.png');
this.load.image('logo', 'assets/sprites/phaser3-logo.png');
this.load.image('red', 'assets/particles/red.png');
}
create ()
{
this.scene.start('outerSpace');
}
}
class OuterSpace extends Phaser.Scene
{
constructor ()
{
super({
key: 'outerSpace',
physics: {
arcade: {
gravity: { y: 200 }
}
}
});
}
create ()
{
this.add.image(400, 300, 'sky');
const particles = this.add.particles(0, 0, 'red', {
speed: 100,
scale: { start: 1, end: 0 },
blendMode: 'ADD'
});
const logo = this.physics.add.image(400, 100, 'logo')
.setVelocity(100, 200)
.setBounce(1, 1)
.setCollideWorldBounds(true);
particles.startFollow(logo);
}
}
const gameConfig = {
scale: { mode: Phaser.Scale.FIT },
type: Phaser.AUTO,
width: 800,
height: 600,
parent: 'game-container',
scene: [ Boot, OuterSpace ]
};
const game = new Phaser.Game(gameConfig);