new GameObjectFactory(game)
The GameObjectFactory is a quick way to create many common game objects
using
.game.add
Created objects are automatically added to the appropriate Manager, World, or manually specified parent Group.
Parameters:
Name | Type | Description |
---|---|---|
game |
Phaser.Game | A reference to the currently running game. |
- Source - gameobjects/GameObjectFactory.js, line 17
Members
-
<internal> game :Phaser.Game
-
A reference to the currently running Game.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - gameobjects/GameObjectFactory.js, line 23
-
<internal> world :Phaser.World
-
A reference to the game world.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source - gameobjects/GameObjectFactory.js, line 29
Methods
-
audio(key, volume, loop, connect) → {Phaser.Sound}
-
Creates a new Sound object.
Parameters:
Name Type Argument Default Description key
string The Game.cache key of the sound that this object will use.
volume
number <optional>
1 The volume at which the sound will be played.
loop
boolean <optional>
false Whether or not the sound will loop.
connect
boolean <optional>
true Controls if the created Sound object will connect to the master gainNode of the SoundManager when running under WebAudio.
Returns:
The newly created text object.
- Source - gameobjects/GameObjectFactory.js, line 155
-
audioSprite(key) → {Phaser.AudioSprite}
-
Creates a new AudioSprite object.
Parameters:
Name Type Description key
string The Game.cache key of the sound that this object will use.
Returns:
The newly created AudioSprite object.
- Source - gameobjects/GameObjectFactory.js, line 187
-
bitmapData(width, height, key, addToCache) → {Phaser.BitmapData}
-
Create a BitmapData object.
A BitmapData object can be manipulated and drawn to like a traditional Canvas object and used to texture Sprites.
Parameters:
Name Type Argument Default Description width
number <optional>
256 The width of the BitmapData in pixels.
height
number <optional>
256 The height of the BitmapData in pixels.
key
string <optional>
'' Asset key for the BitmapData when stored in the Cache (see addToCache parameter).
addToCache
boolean <optional>
false Should this BitmapData be added to the Game.Cache? If so you can retrieve it with Cache.getBitmapData(key)
Returns:
The newly created BitmapData object.
- Source - gameobjects/GameObjectFactory.js, line 418
-
bitmapText(x, y, font, text, size, group) → {Phaser.BitmapText}
-
Create a new BitmapText object.
Parameters:
Name Type Argument Description x
number X position of the new bitmapText object.
y
number Y position of the new bitmapText object.
font
string The key of the BitmapText font as stored in Game.Cache.
text
string <optional>
The actual text that will be rendered. Can be set later via BitmapText.text.
size
number <optional>
The size the font will be rendered in, in pixels.
group
Phaser.Group <optional>
Optional Group to add the object to. If not specified it will be added to the World group.
Returns:
The newly created bitmapText object.
- Source - gameobjects/GameObjectFactory.js, line 349
-
button(x, y, key, callback, callbackContext, overFrame, outFrame, downFrame, upFrame, group) → {Phaser.Button}
-
Creates a new Button object.
Parameters:
Name Type Argument Description x
number <optional>
X position of the new button object.
y
number <optional>
Y position of the new button object.
key
string <optional>
The image key as defined in the Game.Cache to use as the texture for this button.
callback
function <optional>
The function to call when this button is pressed
callbackContext
object <optional>
The context in which the callback will be called (usually 'this')
overFrame
string | number <optional>
This is the frame or frameName that will be set when this button is in an over state. Give either a number to use a frame ID or a string for a frame name.
outFrame
string | number <optional>
This is the frame or frameName that will be set when this button is in an out state. Give either a number to use a frame ID or a string for a frame name.
downFrame
string | number <optional>
This is the frame or frameName that will be set when this button is in a down state. Give either a number to use a frame ID or a string for a frame name.
upFrame
string | number <optional>
This is the frame or frameName that will be set when this button is in an up state. Give either a number to use a frame ID or a string for a frame name.
group
Phaser.Group <optional>
Optional Group to add the object to. If not specified it will be added to the World group.
Returns:
The newly created button object.
- Source - gameobjects/GameObjectFactory.js, line 261
-
emitter(x, y, maxParticles) → {Phaser.Emitter}
-
Create a new Emitter.
A particle emitter can be used for one-time explosions or for continuous effects like rain and fire. All it really does is launch Particle objects out at set intervals, and fixes their positions and velocities accordingly.
Parameters:
Name Type Argument Default Description x
number <optional>
0 The x coordinate within the Emitter that the particles are emitted from.
y
number <optional>
0 The y coordinate within the Emitter that the particles are emitted from.
maxParticles
number <optional>
50 The total number of particles in this emitter.
Returns:
Phaser.Emitter -The newly created emitter object.
- Source - gameobjects/GameObjectFactory.js, line 302
-
existing(object) → {any}
-
Adds an existing object to the game world.
Parameters:
Name Type Description object
any An instance of Phaser.Sprite, Phaser.Button or any other display object..
Returns:
any -The child that was added to the Group.
- Source - gameobjects/GameObjectFactory.js, line 35
-
filter(filter) → {Phaser.Filter}
-
A WebGL shader/filter that can be applied to Sprites.
Parameters:
Name Type Description filter
string The name of the filter you wish to create, for example HueRotate or SineWave.
any Whatever parameters are needed to be passed to the filter init function.
Returns:
The newly created Phaser.Filter object.
- Source - gameobjects/GameObjectFactory.js, line 446
-
graphics(x, y, group) → {Phaser.Graphics}
-
Creates a new Graphics object.
Parameters:
Name Type Argument Description x
number X position of the new graphics object.
y
number Y position of the new graphics object.
group
Phaser.Group <optional>
Optional Group to add the object to. If not specified it will be added to the World group.
Returns:
The newly created graphics object.
- Source - gameobjects/GameObjectFactory.js, line 285
-
group(parent, name, addToStage, enableBody, physicsBodyType) → {Phaser.Group}
-
A Group is a container for display objects that allows for fast pooling, recycling and collision checks.
Parameters:
Name Type Argument Default Description parent
any <optional>
The parent Group or DisplayObjectContainer that will hold this group, if any. If set to null the Group won't be added to the display list. If undefined it will be added to World by default.
name
string <optional>
'group' A name for this Group. Not used internally but useful for debugging.
addToStage
boolean <optional>
false If set to true this Group will be added directly to the Game.Stage instead of Game.World.
enableBody
boolean <optional>
false If true all Sprites created with
Group.create
orGroup.createMulitple
will have a physics body created on them. Change the body type with physicsBodyType.physicsBodyType
number <optional>
0 If enableBody is true this is the type of physics body that is created on new Sprites. Phaser.Physics.ARCADE, Phaser.Physics.P2, Phaser.Physics.NINJA, etc.
Returns:
The newly created group.
- Source - gameobjects/GameObjectFactory.js, line 99
-
image(x, y, key, frame, group) → {Phaser.Sprite}
-
Create a new
Image
object. An Image is a light-weight object you can use to display anything that doesn't need physics or animation. It can still rotate, scale, crop and receive input events. This makes it perfect for logos, backgrounds, simple buttons and other non-Sprite graphics.Parameters:
Name Type Argument Description x
number X position of the image.
y
number Y position of the image.
key
string | Phaser.RenderTexture | PIXI.Texture This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
frame
string | number <optional>
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.
group
Phaser.Group <optional>
Optional Group to add the object to. If not specified it will be added to the World group.
Returns:
the newly created sprite object.
- Source - gameobjects/GameObjectFactory.js, line 47
-
physicsGroup(physicsBodyType, parent, name, addToStage) → {Phaser.Group}
-
A Group is a container for display objects that allows for fast pooling, recycling and collision checks. A Physics Group is the same as an ordinary Group except that is has enableBody turned on by default, so any Sprites it creates are automatically given a physics body.
Parameters:
Name Type Argument Default Description physicsBodyType
number <optional>
Phaser.Physics.ARCADE If enableBody is true this is the type of physics body that is created on new Sprites. Phaser.Physics.ARCADE, Phaser.Physics.P2, Phaser.Physics.NINJA, etc.
parent
any <optional>
The parent Group or DisplayObjectContainer that will hold this group, if any. If set to null the Group won't be added to the display list. If undefined it will be added to World by default.
name
string <optional>
'group' A name for this Group. Not used internally but useful for debugging.
addToStage
boolean <optional>
false If set to true this Group will be added directly to the Game.Stage instead of Game.World.
Returns:
The newly created group.
- Source - gameobjects/GameObjectFactory.js, line 116
-
plugin(plugin, parameter) → {Phaser.Plugin}
-
Add a new Plugin into the PluginManager.
The Plugin must have 2 properties:
game
andparent
. Plugin.game is set to the game reference the PluginManager uses, and parent is set to the PluginManager.Parameters:
Name Type Argument Description plugin
object | Phaser.Plugin The Plugin to add into the PluginManager. This can be a function or an existing object.
parameter
* <repeatable>
Additional parameters that will be passed to the Plugin.init method.
Returns:
The Plugin that was added to the manager.
- Source - gameobjects/GameObjectFactory.js, line 466
-
renderTexture(width, height, key, addToCache) → {Phaser.RenderTexture}
-
A dynamic initially blank canvas to which images can be drawn.
Parameters:
Name Type Argument Default Description width
number <optional>
100 the width of the RenderTexture.
height
number <optional>
100 the height of the RenderTexture.
key
string <optional>
'' Asset key for the RenderTexture when stored in the Cache (see addToCache parameter).
addToCache
boolean <optional>
false Should this RenderTexture be added to the Game.Cache? If so you can retrieve it with Cache.getTexture(key)
Returns:
The newly created RenderTexture object.
- Source - gameobjects/GameObjectFactory.js, line 392
-
retroFont(font, characterWidth, characterHeight, chars, charsPerRow, xSpacing, ySpacing, xOffset, yOffset) → {Phaser.RetroFont}
-
Create a new RetroFont object.
A RetroFont can be used as a texture for an Image or Sprite and optionally add it to the Cache. A RetroFont uses a bitmap which contains fixed with characters for the font set. You use character spacing to define the set. If you need variable width character support then use a BitmapText object instead. The main difference between a RetroFont and a BitmapText is that a RetroFont creates a single texture that you can apply to a game object, where-as a BitmapText creates one Sprite object per letter of text. The texture can be asssigned or one or multiple images/sprites, but note that the text the RetroFont uses will be shared across them all, i.e. if you need each Image to have different text in it, then you need to create multiple RetroFont objects.
Parameters:
Name Type Argument Default Description font
string The key of the image in the Game.Cache that the RetroFont will use.
characterWidth
number The width of each character in the font set.
characterHeight
number The height of each character in the font set.
chars
string The characters used in the font set, in display order. You can use the TEXT_SET consts for common font set arrangements.
charsPerRow
number The number of characters per row in the font set.
xSpacing
number <optional>
0 If the characters in the font set have horizontal spacing between them set the required amount here.
ySpacing
number <optional>
0 If the characters in the font set have vertical spacing between them set the required amount here.
xOffset
number <optional>
0 If the font set doesn't start at the top left of the given image, specify the X coordinate offset here.
yOffset
number <optional>
0 If the font set doesn't start at the top left of the given image, specify the Y coordinate offset here.
Returns:
The newly created RetroFont texture which can be applied to an Image or Sprite.
- Source - gameobjects/GameObjectFactory.js, line 321
-
rope(x, y, key, frame, points, group) → {Phaser.TileSprite}
-
Creates a new Rope object.
Parameters:
Name Type Argument Description x
number The x coordinate (in world space) to position the TileSprite at.
y
number The y coordinate (in world space) to position the TileSprite at.
key
string | Phaser.RenderTexture | Phaser.BitmapData | PIXI.Texture This is the image or texture used by the TileSprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
frame
string | number If this TileSprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
points
Array An array of {Phaser.Point}.
group
Phaser.Group <optional>
Optional Group to add the object to. If not specified it will be added to the World group.
Returns:
The newly created tileSprite object. Example usage: https://github.com/codevinsky/phaser-rope-demo/blob/master/dist/demo.js
- Source - gameobjects/GameObjectFactory.js, line 221
-
sound(key, volume, loop, connect) → {Phaser.Sound}
-
Creates a new Sound object.
Parameters:
Name Type Argument Default Description key
string The Game.cache key of the sound that this object will use.
volume
number <optional>
1 The volume at which the sound will be played.
loop
boolean <optional>
false Whether or not the sound will loop.
connect
boolean <optional>
true Controls if the created Sound object will connect to the master gainNode of the SoundManager when running under WebAudio.
Returns:
The newly created text object.
- Source - gameobjects/GameObjectFactory.js, line 171
-
sprite(x, y, key, frame, group) → {Phaser.Sprite}
-
Create a new Sprite with specific position and sprite sheet key.
Parameters:
Name Type Argument Description x
number X position of the new sprite.
y
number Y position of the new sprite.
key
string | Phaser.RenderTexture | PIXI.Texture This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
frame
string | number <optional>
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.
group
Phaser.Group <optional>
Optional Group to add the object to. If not specified it will be added to the World group.
Returns:
the newly created sprite object.
- Source - gameobjects/GameObjectFactory.js, line 67
-
spriteBatch(parent, name, addToStage) → {Phaser.Group}
-
A SpriteBatch is a really fast version of a Phaser Group built solely for speed. Use when you need a lot of sprites or particles all sharing the same texture. The speed gains are specifically for WebGL. In Canvas mode you won't see any real difference.
Parameters:
Name Type Argument Default Description parent
Phaser.Group | null The parent Group that will hold this Sprite Batch. Set to
undefined
ornull
to add directly to game.world.name
string <optional>
'group' A name for this Sprite Batch. Not used internally but useful for debugging.
addToStage
boolean <optional>
false If set to true this Sprite Batch will be added directly to the Game.Stage instead of the parent.
Returns:
The newly created group.
- Source - gameobjects/GameObjectFactory.js, line 134
-
text(x, y, text, style, group) → {Phaser.Text}
-
Creates a new Text object.
Parameters:
Name Type Argument Description x
number X position of the new text object.
y
number Y position of the new text object.
text
string The actual text that will be written.
style
object The style object containing style attributes like font, font size , etc.
group
Phaser.Group <optional>
Optional Group to add the object to. If not specified it will be added to the World group.
Returns:
The newly created text object.
- Source - gameobjects/GameObjectFactory.js, line 242
-
tilemap(key, tileWidth, tileHeight, width, height) → {Phaser.Tilemap}
-
Creates a new Phaser.Tilemap object.
The map can either be populated with data from a Tiled JSON file or from a CSV file. To do this pass the Cache key as the first parameter. When using Tiled data you need only provide the key. When using CSV data you must provide the key and the tileWidth and tileHeight parameters. If creating a blank tilemap to be populated later, you can either specify no parameters at all and then use
Tilemap.create
or pass the map and tile dimensions here. Note that all Tilemaps use a base tile size to calculate dimensions from, but that a TilemapLayer may have its own unique tile size that overrides it.Parameters:
Name Type Argument Default Description key
string <optional>
The key of the tilemap data as stored in the Cache. If you're creating a blank map either leave this parameter out or pass
null
.tileWidth
number <optional>
32 The pixel width of a single map tile. If using CSV data you must specify this. Not required if using Tiled map data.
tileHeight
number <optional>
32 The pixel height of a single map tile. If using CSV data you must specify this. Not required if using Tiled map data.
width
number <optional>
10 The width of the map in tiles. If this map is created from Tiled or CSV data you don't need to specify this.
height
number <optional>
10 The height of the map in tiles. If this map is created from Tiled or CSV data you don't need to specify this.
Returns:
The newly created tilemap object.
- Source - gameobjects/GameObjectFactory.js, line 369
-
tileSprite(x, y, width, height, key, frame, group) → {Phaser.TileSprite}
-
Creates a new TileSprite object.
Parameters:
Name Type Argument Description x
number The x coordinate (in world space) to position the TileSprite at.
y
number The y coordinate (in world space) to position the TileSprite at.
width
number The width of the TileSprite.
height
number The height of the TileSprite.
key
string | Phaser.RenderTexture | Phaser.BitmapData | PIXI.Texture This is the image or texture used by the TileSprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
frame
string | number If this TileSprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
group
Phaser.Group <optional>
Optional Group to add the object to. If not specified it will be added to the World group.
Returns:
The newly created tileSprite object.
- Source - gameobjects/GameObjectFactory.js, line 200
-
tween(obj) → {Phaser.Tween}
-
Create a tween on a specific object. The object can be any JavaScript object or Phaser object such as Sprite.
Parameters:
Name Type Description obj
object Object the tween will be run on.
Returns:
The newly created Phaser.Tween object.
- Source - gameobjects/GameObjectFactory.js, line 86