mirror of
https://github.com/photonstorm/phaser
synced 2024-12-18 17:16:03 +00:00
121 lines
No EOL
3.5 KiB
JavaScript
121 lines
No EOL
3.5 KiB
JavaScript
Phaser.GameObjectFactory = function (game) {
|
|
|
|
this.game = game;
|
|
this.world = this.game.world;
|
|
|
|
};
|
|
|
|
Phaser.GameObjectFactory.prototype = {
|
|
|
|
game: null,
|
|
world: null,
|
|
|
|
existing: function (object) {
|
|
|
|
return this.world.add(object);
|
|
|
|
},
|
|
|
|
/**
|
|
* 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.
|
|
* @param [key] {string|RenderTexture} The image key as defined in the Game.Cache to use as the texture for this sprite OR a RenderTexture
|
|
* @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.
|
|
*/
|
|
sprite: function (x, y, key, frame) {
|
|
|
|
return this.world.add(new Phaser.Sprite(this.game, x, y, key, frame));
|
|
|
|
},
|
|
|
|
/**
|
|
* Create a new Sprite with specific position and sprite sheet key that will automatically be added as a child of the given parent.
|
|
*
|
|
* @param x {number} X position of the new sprite.
|
|
* @param y {number} Y position of the new sprite.
|
|
* @param [key] {string|RenderTexture} The image key as defined in the Game.Cache to use as the texture for this sprite OR a RenderTexture
|
|
* @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.
|
|
*/
|
|
child: function (parent, x, y, key, frame) {
|
|
|
|
var child = this.world.add(new Phaser.Sprite(this.game, x, y, key, frame));
|
|
parent.addChild(child);
|
|
return child;
|
|
|
|
},
|
|
|
|
/**
|
|
* 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.
|
|
*/
|
|
tween: function (obj) {
|
|
|
|
return this.game.tweens.create(obj);
|
|
|
|
},
|
|
|
|
group: function (parent, name) {
|
|
|
|
return new Phaser.Group(this.game, parent, name);
|
|
|
|
},
|
|
|
|
audio: function (key, volume, loop) {
|
|
|
|
return this.game.sound.add(key, volume, loop);
|
|
|
|
},
|
|
|
|
tileSprite: function (x, y, width, height, key, frame) {
|
|
|
|
return this.world.add(new Phaser.TileSprite(this.game, x, y, width, height, key, frame));
|
|
|
|
},
|
|
|
|
text: function (x, y, text, style) {
|
|
|
|
return this.world.add(new Phaser.Text(this.game, x, y, text, style));
|
|
|
|
},
|
|
|
|
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));
|
|
|
|
},
|
|
|
|
graphics: function (x, y) {
|
|
|
|
return this.world.add(new Phaser.Graphics(this.game, x, y));
|
|
|
|
},
|
|
|
|
emitter: function (x, y, maxParticles) {
|
|
|
|
return this.game.particles.add(new Phaser.Particles.Arcade.Emitter(this.game, x, y, maxParticles));
|
|
|
|
},
|
|
|
|
bitmapText: function (x, y, text, style) {
|
|
|
|
return this.world.add(new Phaser.BitmapText(this.game, x, y, text, style));
|
|
|
|
},
|
|
|
|
renderTexture: function (key, width, height) {
|
|
|
|
var texture = new Phaser.RenderTexture(this.game, key, width, height);
|
|
|
|
this.game.cache.addRenderTexture(key, texture);
|
|
|
|
return texture;
|
|
|
|
},
|
|
|
|
}; |