Creating tiled or repeating background is pretty straight forward in Phaser by using tileSprite.
Let say we have an image or a texture such as
which we want to use to create a background by repeating it in entire game area. Check out the highlighted line in the example below which is all that is required to create a nice tiled background in Phaser.
var TheGame = {
};
TheGame.Params = {
baseWidth: 200,
baseHeight: 200
};
TheGame.Boot = function (game) { };
TheGame.Boot.prototype = {
init: function () {
this.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL;
this.game.scale.pageAlignHorizontally = true;
this.game.scale.pageAlignVertically = true;
},
preload: function () {
this.load.image("background", "repeatxy.png");
this.load.image("loading", "loadingback.png");
},
create: function () {
this.state.start("Loading");
}
};
TheGame.Loading = function (game) {
};
TheGame.Loading.prototype = {
init: function () {
},
preload: function () {
var loadingBar = this.add.sprite(this.world.centerX, this.world.centerY, "loading");
loadingBar.anchor.setTo(0.5);
this.load.setPreloadSprite(loadingBar);
},
create: function () {
this.state.start("TheGame");
}
};
TheGame.MyGame = function (game) {
};
TheGame.MyGame.prototype = {
preload: function () {
},
create: function () {
var background = mygame.add.tileSprite(0, 0, this.game.width, this.game.height, "background");
},
};
var mygame;
window.onload = function () {
mygame = new Phaser.Game(TheGame.Params.baseWidth, TheGame.Params.baseHeight, Phaser.AUTO, "mygame");
mygame.state.add("Boot", TheGame.Boot);
mygame.state.add("Loading", TheGame.Loading);
mygame.state.add("TheGame", TheGame.MyGame);
mygame.state.start("Boot");
}
The example below demonstrates the code.