Sprite Origin X and Y
Demonstrates how setting the origin (or anchor point) of an image affects its positioning relative to its coordinates.
800 × 600
class Example extends Phaser.Scene
{
preload ()
{
this.load.setBaseURL('https://cdn.phaserfiles.com/v410');
this.load.image('ball', 'assets/sprites/shinyball.png');
}
create ()
{
// Graphics background with lines on
const graphics = this.add.graphics();
this.add.image(200, 100, 'ball').setOrigin(0, 0);
this.add.image(400, 100, 'ball').setOrigin(0, 0.5);
this.add.image(600, 100, 'ball').setOrigin(0, 1);
this.add.image(200, 200, 'ball').setOrigin(0, 0);
this.add.image(400, 200, 'ball').setOrigin(0.5, 0);
this.add.image(600, 200, 'ball').setOrigin(1, 0);
this.add.image(200, 300, 'ball').setOrigin(0, 0);
this.add.image(400, 300, 'ball').setOrigin(0.5, 0.5);
this.add.image(600, 300, 'ball').setOrigin(1, 1);
this.add.image(200, 400, 'ball').setOrigin(1, 0);
this.add.image(400, 400, 'ball').setOrigin(1, 0.25);
this.add.image(600, 400, 'ball').setOrigin(1, 0.5);
this.add.image(200, 500, 'ball').setOrigin(0.25, 1);
this.add.image(400, 500, 'ball').setOrigin(0.5, 0.25);
this.add.image(600, 500, 'ball').setOrigin(0.75, 0.5);
// Draw the alignment lines to our Graphics object
graphics.lineStyle(1, 0x00ff00, 1);
graphics.beginPath();
// Vertical lines
graphics.moveTo(200, 0);
graphics.lineTo(200, 600);
graphics.moveTo(400, 0);
graphics.lineTo(400, 600);
graphics.moveTo(600, 0);
graphics.lineTo(600, 600);
// Horizontal lines
graphics.moveTo(0, 100);
graphics.lineTo(800, 100);
graphics.moveTo(0, 200);
graphics.lineTo(800, 200);
graphics.moveTo(0, 300);
graphics.lineTo(800, 300);
graphics.moveTo(0, 400);
graphics.lineTo(800, 400);
graphics.moveTo(0, 500);
graphics.lineTo(800, 500);
graphics.strokePath();
graphics.closePath();
}
}
const config = {
scale: { mode: Phaser.Scale.FIT },
type: Phaser.AUTO,
parent: 'game-container',
width: 800,
height: 600,
scene: Example
};
const game = new Phaser.Game(config);