2013-08-30 03:20:14 +00:00
|
|
|
Phaser.GameObjectFactory = function (game) {
|
|
|
|
|
|
|
|
this.game = game;
|
2013-08-30 16:09:43 +00:00
|
|
|
this.world = this.game.world;
|
2013-08-30 03:20:14 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
Phaser.GameObjectFactory.prototype = {
|
|
|
|
|
|
|
|
game: null,
|
2013-08-30 16:09:43 +00:00
|
|
|
world: null,
|
2013-08-30 03:20:14 +00:00
|
|
|
|
2013-09-10 23:35:21 +00:00
|
|
|
existing: function (object) {
|
|
|
|
|
|
|
|
return this.world.add(object);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-08-30 03:20:14 +00:00
|
|
|
/**
|
|
|
|
* Create a new Sprite with specific position and sprite sheet key.
|
|
|
|
*
|
|
|
|
* @param x {number} X position of the new sprite.
|
|
|
|
* @param y {number} Y position of the new sprite.
|
2013-09-11 02:55:53 +00:00
|
|
|
* @param [key] {string|RenderTexture} The image key as defined in the Game.Cache to use as the texture for this sprite OR a RenderTexture
|
2013-08-30 03:20:14 +00:00
|
|
|
* @param [frame] {string|number} If the sprite uses an image from a texture atlas or sprite sheet you can pass the frame here. Either a number for a frame ID or a string for a frame name.
|
|
|
|
* @returns {Sprite} The newly created sprite object.
|
|
|
|
*/
|
2013-09-11 02:55:53 +00:00
|
|
|
sprite: function (x, y, key, frame) {
|
2013-08-30 03:20:14 +00:00
|
|
|
|
2013-09-11 02:55:53 +00:00
|
|
|
return this.world.add(new Phaser.Sprite(this.game, x, y, key, frame));
|
2013-08-30 03:20:14 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-09-04 20:03:39 +00:00
|
|
|
/**
|
2013-09-06 19:20:58 +00:00
|
|
|
* Create a new Sprite with specific position and sprite sheet key that will automatically be added as a child of the given parent.
|
2013-09-04 20:03:39 +00:00
|
|
|
*
|
|
|
|
* @param x {number} X position of the new sprite.
|
|
|
|
* @param y {number} Y position of the new sprite.
|
2013-09-11 02:55:53 +00:00
|
|
|
* @param [key] {string|RenderTexture} The image key as defined in the Game.Cache to use as the texture for this sprite OR a RenderTexture
|
2013-09-04 20:03:39 +00:00
|
|
|
* @param [frame] {string|number} If the sprite uses an image from a texture atlas or sprite sheet you can pass the frame here. Either a number for a frame ID or a string for a frame name.
|
|
|
|
* @returns {Sprite} The newly created sprite object.
|
|
|
|
*/
|
2013-09-11 02:55:53 +00:00
|
|
|
child: function (parent, x, y, key, frame) {
|
2013-09-04 20:03:39 +00:00
|
|
|
|
2013-09-11 02:55:53 +00:00
|
|
|
var child = this.world.add(new Phaser.Sprite(this.game, x, y, key, frame));
|
2013-09-04 20:03:39 +00:00
|
|
|
parent.addChild(child);
|
|
|
|
return child;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-08-30 16:09:43 +00:00
|
|
|
/**
|
|
|
|
* Create a tween object for a specific object. The object can be any JavaScript object or Phaser object such as Sprite.
|
|
|
|
*
|
|
|
|
* @param obj {object} Object the tween will be run on.
|
|
|
|
* @return {Phaser.Tween} The newly created tween object.
|
|
|
|
*/
|
2013-09-11 01:57:36 +00:00
|
|
|
tween: function (obj) {
|
2013-08-30 16:09:43 +00:00
|
|
|
|
2013-09-11 01:57:36 +00:00
|
|
|
return this.game.tweens.create(obj);
|
2013-08-30 16:09:43 +00:00
|
|
|
|
2013-09-03 00:24:16 +00:00
|
|
|
},
|
|
|
|
|
2013-09-06 19:20:58 +00:00
|
|
|
group: function (parent, name) {
|
|
|
|
|
|
|
|
return new Phaser.Group(this.game, parent, name);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-09-03 00:24:16 +00:00
|
|
|
audio: function (key, volume, loop) {
|
|
|
|
|
|
|
|
return this.game.sound.add(key, volume, loop);
|
|
|
|
|
2013-09-03 02:19:42 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
tileSprite: function (x, y, width, height, key, frame) {
|
|
|
|
|
|
|
|
return this.world.add(new Phaser.TileSprite(this.game, x, y, width, height, key, frame));
|
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-09-03 05:02:47 +00:00
|
|
|
text: function (x, y, text, style) {
|
|
|
|
|
|
|
|
return this.world.add(new Phaser.Text(this.game, x, y, text, style));
|
|
|
|
|
|
|
|
},
|
2013-08-30 16:09:43 +00:00
|
|
|
|
2013-09-08 23:30:44 +00:00
|
|
|
button: function (x, y, key, callback, callbackContext, overFrame, outFrame, downFrame) {
|
|
|
|
|
|
|
|
return this.world.add(new Phaser.Button(this.game, x, y, key, callback, callbackContext, overFrame, outFrame, downFrame));
|
|
|
|
|
|
|
|
},
|
2013-09-03 00:24:16 +00:00
|
|
|
|
2013-09-09 16:01:59 +00:00
|
|
|
graphics: function (x, y) {
|
|
|
|
|
|
|
|
return this.world.add(new Phaser.Graphics(this.game, x, y));
|
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-09-10 10:09:25 +00:00
|
|
|
emitter: function (x, y, maxParticles) {
|
|
|
|
|
|
|
|
return this.game.particles.add(new Phaser.Particles.Arcade.Emitter(this.game, x, y, maxParticles));
|
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-09-10 22:51:35 +00:00
|
|
|
bitmapText: function (x, y, text, style) {
|
|
|
|
|
|
|
|
return this.world.add(new Phaser.BitmapText(this.game, x, y, text, style));
|
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-09-11 01:57:36 +00:00
|
|
|
renderTexture: function (key, width, height) {
|
|
|
|
|
|
|
|
var texture = new Phaser.RenderTexture(this.game, key, width, height);
|
|
|
|
|
|
|
|
this.game.cache.addRenderTexture(key, texture);
|
|
|
|
|
|
|
|
return texture;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
2013-08-30 03:20:14 +00:00
|
|
|
};
|