Navigation
These archived docs are for Phaser 2.4.3 Phaser 3 docs can be found on newdocs.phaser.io.
Phaser CE docs can be found on the Phaser CE Documentation site.

Constructor

Phaser. GameObjectCreator

new GameObjectCreator(game)

The GameObjectCreator is a quick way to create common game objects without adding them to the game world. The object creator can be accessed with game.make.

Parameters
Name Type Description
game Phaser.Game

A reference to the currently running game.

Source code: gameobjects/GameObjectCreator.js (Line 15)

Public Properties

<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 code: gameobjects/GameObjectCreator.js (Line 21)

<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 code: gameobjects/GameObjectCreator.js (Line 27)

Public 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 code: gameobjects/GameObjectCreator.js (Line 118)

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 code: gameobjects/GameObjectCreator.js (Line 134)

bitmapData(width, height, key, addToCache) → {Phaser.BitmapData}

Create a BitmpaData 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 code: gameobjects/GameObjectCreator.js (Line 379)

bitmapText(x, y, font, text, size, align) → {Phaser.BitmapText}

Create a new BitmapText object.

BitmapText objects work by taking a texture file and an XML file that describes the font structure. It then generates a new Sprite object for each letter of the text, proportionally spaced out and aligned to match the font structure.

BitmapText objects are less flexible than Text objects, in that they have less features such as shadows, fills and the ability to use Web Fonts. However you trade this flexibility for pure rendering speed. You can also create visually compelling BitmapTexts by processing the font texture in an image editor first, applying fills and any other effects required.

To create multi-line text insert \r, \n or \r\n escape codes into the text string.

To create a BitmapText data files you can use:

BMFont (Windows, free): http://www.angelcode.com/products/bmfont/ Glyph Designer (OS X, commercial): http://www.71squared.com/en/glyphdesigner Littera (Web-based, free): http://kvazars.com/littera/

Parameters
Name Type Argument Default Description
x number

X coordinate to display the BitmapText object at.

y number

Y coordinate to display the BitmapText object at.

font string

The key of the BitmapText as stored in Phaser.Cache.

text string <optional>
''

The text that will be rendered. This can also be set later via BitmapText.text.

size number <optional>
32

The size the font will be rendered at in pixels.

align string <optional>
'left'

The alignment of multi-line text. Has no effect if there is only one line of text.

Returns

The newly created bitmapText object.

Source code: gameobjects/GameObjectCreator.js (Line 297)

button(x, y, key, callback, callbackContext, overFrame, outFrame, downFrame, upFrame) → {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.

Returns

The newly created button object.

Source code: gameobjects/GameObjectCreator.js (Line 215)

emitter(x, y, maxParticles) → {Phaser.Emitter}

Creat a new Emitter.

An Emitter is a lightweight particle emitter. It 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 accorindgly.

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 code: gameobjects/GameObjectCreator.js (Line 250)

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 code: gameobjects/GameObjectCreator.js (Line 407)

graphics(x, y) → {Phaser.Graphics}

Creates a new Graphics object.

Parameters
Name Type Argument Default Description
x number <optional>
0

X position of the new graphics object.

y number <optional>
0

Y position of the new graphics object.

Returns

The newly created graphics object.

Source code: gameobjects/GameObjectCreator.js (Line 236)

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

The parent Group or DisplayObjectContainer that will hold this group, if any.

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 or Group.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 code: gameobjects/GameObjectCreator.js (Line 83)

image(x, y, key, frame) → {Phaser.Image}

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.

Returns

the newly created sprite object.

Source code: gameobjects/GameObjectCreator.js (Line 33)

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 code: gameobjects/GameObjectCreator.js (Line 353)

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 code: gameobjects/GameObjectCreator.js (Line 269)

rope(x, y, width, height, key, frame) → {Phaser.Rope}

Creates a new Rope object.

Parameters
Name Type Description
x number

The x coordinate (in world space) to position the Rope at.

y number

The y coordinate (in world space) to position the Rope at.

width number

The width of the Rope.

height number

The height of the Rope.

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 Rope 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.

Returns

The newly created rope object.

Source code: gameobjects/GameObjectCreator.js (Line 181)

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 code: gameobjects/GameObjectCreator.js (Line 147)

sprite(x, y, key, frame) → {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.

Returns

the newly created sprite object.

Source code: gameobjects/GameObjectCreator.js (Line 52)

spriteBatch(parent, name, addToStage) → {Phaser.SpriteBatch}

Create a new SpriteBatch.

Parameters
Name Type Argument Default Description
parent any

The parent Group or DisplayObjectContainer that will hold this group, if any.

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 code: gameobjects/GameObjectCreator.js (Line 100)

text(x, y, text, style) → {Phaser.Text}

Creates a new Text object.

Parameters
Name Type 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.

Returns

The newly created text object.

Source code: gameobjects/GameObjectCreator.js (Line 199)

tilemap(key, tileWidth, tileHeight, width, height)

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.

Source code: gameobjects/GameObjectCreator.js (Line 331)

tileSprite(x, y, width, height, key, frame) → {Phaser.TileSprite}

Creates a new TileSprite object.

Parameters
Name Type 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.

Returns

The newly created tileSprite object.

Source code: gameobjects/GameObjectCreator.js (Line 163)

tween(obj) → {Phaser.Tween}

Create a tween object for 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 Tween object.

Source code: gameobjects/GameObjectCreator.js (Line 68)