Phaser.Graphics

new Graphics(game, x, y)

A Graphics object is a way to draw primitives to your game. Primitives include forms of geometry, such as Rectangles, Circles and Polygons. They also include lines, arcs and curves. When you initially create a Graphics object it will be empty. To 'draw' to it you first specify a lineStyle or fillStyle (or both), and then draw a shape. For example:

graphics.beginFill(0xff0000);
graphics.drawCircle(50, 50, 100);
graphics.endFill();

This will draw a circle shape to the Graphics object, with a diameter of 100, located at x: 50, y: 50.

When a Graphics object is rendered it will render differently based on if the game is running under Canvas or WebGL. Under Canvas it will use the HTML Canvas context drawing operations to draw the path. Under WebGL the graphics data is decomposed into polygons. Both of these are expensive processes, especially with complex shapes.

If your Graphics object doesn't change much (or at all) once you've drawn your shape to it, then you will help performance by calling Graphics.generateTexture. This will 'bake' the Graphics object into a Texture, and return it. You can then use this Texture for Sprites or other display objects. If your Graphics object updates frequently then you should avoid doing this, as it will constantly generate new textures, which will consume memory.

As you can tell, Graphics objects are a bit of a trade-off. While they are extremely useful, you need to be careful in their complexity and quantity of them in your game.

Parameters:

Name

Type

Argument

Default

Description

game

Phaser.Game

Current game instance.

x

number

<optional>

0

X position of the new graphics object.

y

number

<optional>

0

Y position of the new graphics object.

Source - gameobjects/Graphics.js, line 50

Members

alive:boolean

A useful flag to control if the Game Object is alive or dead.

This is set automatically by the Health components damage method should the object run out of health. Or you can toggle it via your game code.

This property is mostly just provided to be used by your game - it doesn't effect rendering or logic updates. However you can use Group.getFirstAlive in conjunction with this property for fast object pooling and recycling.

Inherited From: Phaser.Component.LifeSpan#alive Default Value: - true

Source - gameobjects/components/LifeSpan.js, line 50

alpha:Number

The alpha value of this DisplayObject. A value of 1 is fully opaque. A value of 0 is transparent. Please note that an object with an alpha value of 0 is skipped during the render pass.

The value of this property does not reflect any alpha values set further up the display list. To obtain that value please see the worldAlpha property.

Inherited From: PIXI.DisplayObject#alpha Source - pixi/display/DisplayObject.js, line 63

angle:number

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

Inherited From: Phaser.Component.Angle#angle Source - gameobjects/components/Angle.js, line 29

If the Game Object is enabled for animation (such as a Phaser.Sprite) this is a reference to its AnimationManager instance. Through it you can create, play, pause and stop animations.

: - Phaser.AnimationManager

autoCull:boolean

A Game Object with autoCull set to true will check its bounds against the World Camera every frame. If it is not intersecting the Camera bounds at any point then it has its renderable property set to false. This keeps the Game Object alive and still processing updates, but forces it to skip the render step entirely.

This is a relatively expensive operation, especially if enabled on hundreds of Game Objects. So enable it only if you know it's required, or you have tested performance and find it acceptable.

Inherited From: Phaser.Component.AutoCull#autoCull Source - gameobjects/components/AutoCull.js, line 28

blendMode:Number

The blend mode to be applied to the graphic shape. Apply a value of PIXI.blendModes.NORMAL to reset the blend mode.

Default Value: - PIXI.blendModes.NORMAL;

Source - gameobjects/Graphics.js, line 127

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated properties and methods via it.

By default Game Objects won't add themselves to any physics system and their body property will be null.

To enable this Game Object for physics you need to call game.physics.enable(object, system) where object is this object and system is the Physics system you are using. If none is given it defaults to Phaser.Physics.Arcade.

You can alternatively call game.physics.arcade.enable(object), or add this Game Object to a physics enabled Group.

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, so the physics body is centered on the Game Object.

If you need a different result then adjust or re-create the Body shape offsets manually or reset the anchor after enabling physics.

bottom:number

The sum of the y and height properties. This is the same as `y + height

  • offsetY`.

Inherited From: Phaser.Component.Bounds#bottom Source - gameobjects/components/Bounds.js, line 168

boundsPadding:Number

The bounds' padding used for bounds calculation.

Source - gameobjects/Graphics.js, line 161

cacheAsBitmap:Boolean

Sets if this DisplayObject should be cached as a bitmap.

When invoked it will take a snapshot of the DisplayObject, as it is at that moment, and store it in a RenderTexture. This is then used whenever this DisplayObject is rendered. It can provide a performance benefit for complex, but static, DisplayObjects. I.e. those with lots of children.

Cached Bitmaps do not track their parents. If you update a property of this DisplayObject, it will not re-generate the cached bitmap automatically. To do that you need to call DisplayObject.updateCache.

To remove a cached bitmap, set this property to null.

Inherited From: PIXI.DisplayObject#cacheAsBitmap Source - pixi/display/DisplayObject.js, line 794

cameraOffset:Phaser.Point

The x/y coordinate offset applied to the top-left of the camera that this Game Object will be drawn at if fixedToCamera is true.

The values are relative to the top-left of the camera view and in addition to any parent of the Game Object on the display list.

Inherited From: Phaser.Component.FixedToCamera#cameraOffset Source - gameobjects/components/FixedToCamera.js, line 85

centerX:number

The center x coordinate of the Game Object. This is the same as (x -offsetX) + (width / 2).

Inherited From: Phaser.Component.Bounds#centerX Source - gameobjects/components/Bounds.js, line 58

centerY:number

The center y coordinate of the Game Object. This is the same as (y -offsetY) + (height / 2).

Inherited From: Phaser.Component.Bounds#centerY Source - gameobjects/components/Bounds.js, line 80

checkWorldBounds:boolean

If this is set to true the Game Object checks if it is within the World bounds each frame.

When it is no longer intersecting the world bounds it dispatches the onOutOfBounds event.

If it was previously out of bounds but is now intersecting the world bounds again it dispatches the onEnterBounds event.

It also optionally kills the Game Object if outOfBoundsKill is true.

When checkWorldBounds is enabled it forces the Game Object to calculate its full bounds every frame.

This is a relatively expensive operation, especially if enabled on hundreds of Game Objects. So enable it only if you know it's required, or you have tested performance and find it acceptable.

Inherited From: Phaser.Component.InWorld#checkWorldBounds Source - gameobjects/components/InWorld.js, line 98

<readonly>children:Array.<DisplayObject>

[read-only] The array of children of this container.

<internal> components:object

The components this Game Object has installed.

Inherited From: Phaser.Component.Core#components Internal: - This member is internal (protected) and may be modified or removed in the future.

Source - gameobjects/components/Core.js, line 202

data:Object

An empty Object that belongs to this Game Object. This value isn't ever used internally by Phaser, but may be used by your own code, or by Phaser Plugins, to store data that needs to be associated with the Game Object, without polluting the Game Object directly.

Inherited From: Phaser.Component.Core#data Default Value: - {}

Source - gameobjects/components/Core.js, line 195

debug:boolean

A debug flag designed for use with Game.enableStep.

Inherited From: Phaser.Component.Core#debug Source

gameobjects/components/Core.js, line 253

<readonly> destroyPhase:boolean

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

Inherited From: Phaser.Component.Destroy#destroyPhase Source - gameobjects/components/Destroy.js, line 22

events:Phaser.Events

All Phaser Game Objects have an Events class which contains all of the events that are dispatched when certain things happen to this Game Object, or any of its components.

: - Phaser.Events

exists:boolean

Controls if this Game Object is processed by the core game loop. If this Game Object has a physics body it also controls if its physics body is updated or not. When exists is set to false it will remove its physics body from the physics world if it has one. It also toggles the visible property to false as well.

Setting exists to true will add its physics body back in to the physics world, if it has one. It will also set the visible property to true.

Inherited From: Phaser.Component.Core#exists Source - gameobjects/components/Core.js, line 319

fillAlpha:Number

The alpha value used when filling the Graphics object.

Source - gameobjects/Graphics.js, line 83

filterArea:Rectangle

The rectangular area used by filters when rendering a shader for this DisplayObject.

Inherited From: PIXI.DisplayObject#filterArea Source - pixi/display/DisplayObject.js, line 195

filters:Array

Sets the filters for this DisplayObject. This is a WebGL only feature, and is ignored by the Canvas Renderer. A filter is a shader applied to this DisplayObject. You can modify the placement of the filter using DisplayObject.filterArea.

To remove filters, set this property to null.

Note: You cannot have a filter set, and a MULTIPLY Blend Mode active, at the same time. Setting a filter will reset this DisplayObjects blend mode to NORMAL.

Inherited From: PIXI.DisplayObject#filters Source - pixi/display/DisplayObject.js, line 741

fixedToCamera:boolean

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

Inherited From: Phaser.Component.FixedToCamera#fixedToCamera Source - gameobjects/components/FixedToCamera.js, line 55

<readonly> fresh:boolean

A Game Object is considered fresh if it has just been created or reset and is yet to receive a renderer transform update. This property is mostly used internally by the physics systems, but is exposed for the use of plugins.

Inherited From: Phaser.Component.Core#fresh Source

gameobjects/components/Core.js, line 283

game:Phaser.Game

A reference to the currently running Game.

Inherited From: Phaser.Component.Core#game Source - gameobjects/components/Core.js, line 177

height:Number

The height of the displayObjectContainer, setting this will actually modify the scale to achieve the value set

Inherited From: PIXI.DisplayObjectContainer#height Source - pixi/display/DisplayObjectContainer.js, line 600

hitArea:Rectangle|Circle|Ellipse|Polygon

This is the defined area that will pick up mouse / touch events. It is null by default. Setting it is a neat way of optimising the hitTest function that the interactionManager will use (as it will not need tohit test all the children)

Type:

  • Rectangle| Circle| Ellipse| Polygon

Inherited From: PIXI.DisplayObject#hitArea Source - pixi/display/DisplayObject.js, line 89

ignoreChildInput:Boolean

If ignoreChildInput is false it will allow this objects children to be considered as valid for Input events.

If this property is true then the children will not be considered as valid for Input events.

Note that this property isn't recursive: only immediate children are influenced, it doesn't scan further down.

Inherited From: PIXI.DisplayObjectContainer#ignoreChildInput Source - pixi/display/DisplayObjectContainer.js, line 26

<readonly> inCamera:boolean

Checks if the Game Objects bounds intersect with the Game Camera bounds. Returns true if they do, otherwise false if fully outside of the Cameras bounds.

Inherited From: Phaser.Component.AutoCull#inCamera Source - gameobjects/components/AutoCull.js, line 37

input:Phaser.InputHandler|null

The Input Handler for this Game Object.

By default it is disabled. If you wish this Game Object to process input events you should enable it with: inputEnabled = true.

After you have done this, this property will be a reference to the Phaser InputHandler.

inputEnabled:boolean

By default a Game Object won't process any input events. By setting inputEnabled to true a Phaser.InputHandler is created for this Game Object and it will then start to process click / touch events and more.

You can then access the Input Handler via this.input.

Note that Input related events are dispatched from this.events, i.e.: events.onInputDown.

If you set this property to false it will stop the Input Handler from processing any more input events.

If you want to temporarily disable input for a Game Object, then it's better to set input.enabled = false, as it won't reset any of the Input Handlers internal properties. You can then toggle this back on as needed.

Inherited From: Phaser.Component.InputEnabled#inputEnabled Source - gameobjects/components/InputEnabled.js, line 42

<readonly> inWorld:boolean

Checks if the Game Objects bounds are within, or intersect at any point with the Game World bounds.

Inherited From: Phaser.Component.InWorld#inWorld Source - gameobjects/components/InWorld.js, line 129

isMask:Boolean

Whether this shape is being used as a mask.

Source - gameobjects/Graphics.js, line 153

The key of the image or texture used by this Game Object during rendering. If it is a string it's the string used to retrieve the texture from the Phaser Image Cache. It can also be an instance of a RenderTexture, BitmapData, Video or PIXI.Texture. If a Game Object is created without a key it is automatically assigned the key __default which is a 32x32 transparent PNG stored within the Cache. If a Game Object is given a key which doesn't exist in the Image Cache it is re-assigned the key __missing which is a 32x32 PNG of a green box with a line through it.

left:number

The left coordinate of the Game Object. This is the same as x - offsetX.

Inherited From: Phaser.Component.Bounds#left Source - gameobjects/components/Bounds.js, line 102

lifespan:number

The lifespan allows you to give a Game Object a lifespan in milliseconds.

Once the Game Object is 'born' you can set this to a positive value.

It is automatically decremented by the millisecond equivalent of game.time.physicsElapsed each frame. When it reaches zero it will call the kill method.

Very handy for particles, bullets, collectibles, or any other short-lived entity.

Inherited From: Phaser.Component.LifeSpan#lifespan Source - gameobjects/components/LifeSpan.js, line 65

lineColor:String

The color of any lines drawn.

Default Value: - 0

Source - gameobjects/Graphics.js, line 100

lineWidth:Number

The width (thickness) of any lines drawn.

Source - gameobjects/Graphics.js, line 91

mask:PhaserGraphics

Sets a mask for this DisplayObject. A mask is an instance of a Graphics object. When applied it limits the visible area of this DisplayObject to the shape of the mask. Under a Canvas renderer it uses shape clipping. Under a WebGL renderer it uses a Stencil Buffer. To remove a mask, set this property to null.

Inherited From: PIXI.DisplayObject#mask Source - pixi/display/DisplayObject.js, line 706

name:string

A user defined name given to this Game Object. This value isn't ever used internally by Phaser, it is meant as a game level property.

Inherited From: Phaser.Component.Core#name Source - gameobjects/components/Core.js, line 185

<readonly> offsetX:number

The amount the Game Object is visually offset from its x coordinate. This is the same as width * anchor.x. It will only be > 0 if anchor.x is not equal to zero.

Inherited From: Phaser.Component.Bounds#offsetX Source - gameobjects/components/Bounds.js, line 24

<readonly> offsetY:number

The amount the Game Object is visually offset from its y coordinate. This is the same as height * anchor.y. It will only be > 0 if anchor.y is not equal to zero.

Inherited From: Phaser.Component.Bounds#offsetY Source - gameobjects/components/Bounds.js, line 42

outOfBoundsKill:boolean

If this and the checkWorldBounds property are both set to true then the kill method is called as soon as inWorld returns false.

Inherited From: Phaser.Component.InWorld#outOfBoundsKill Source - gameobjects/components/InWorld.js, line 106

outOfCameraBoundsKill:boolean

If this and the autoCull property are both set to true, then the kill method is called as soon as the Game Object leaves the camera bounds.

Inherited From: Phaser.Component.InWorld#outOfCameraBoundsKill Source - gameobjects/components/InWorld.js, line 115

<readonly> parent:PIXIDisplayObjectContainer

The parent DisplayObjectContainer that this DisplayObject is a child of. All DisplayObjects must belong to a parent in order to be rendered. The root parent is the Stage object. This property is set automatically when the DisplayObject is added to, or removed from, a DisplayObjectContainer.

Inherited From: PIXI.DisplayObject#parent Source - pixi/display/DisplayObject.js, line 107

pendingDestroy:boolean

A Game Object is that is pendingDestroy is flagged to have its destroy method called on the next logic update. You can set it directly to allow you to flag an object to be destroyed on its next update.

This is extremely useful if you wish to destroy an object from within one of its own callbacks such as with Buttons or other Input events.

Inherited From: Phaser.Component.Core#pendingDestroy Source - gameobjects/components/Core.js, line 294

<readonly> physicsType:number

The const physics body type of this object.

Source - gameobjects/Graphics.js, line 65

pivot:PIXIPoint

The pivot point of this DisplayObject that it rotates around. The values are expressed in pixel values.

Inherited From: PIXI.DisplayObject#pivot Source - pixi/display/DisplayObject.js, line 43

position:PIXIPoint

The coordinates, in pixels, of this DisplayObject, relative to its parent container.

The value of this property does not reflect any positioning happening further up the display list. To obtain that value please see the worldPosition property.

Inherited From: PIXI.DisplayObject#position Source

pixi/display/DisplayObject.js, line 20

<readonly> previousPosition:Phaser.Point

The position the Game Object was located in the previous frame.

Inherited From: Phaser.Component.Core#previousPosition Source - gameobjects/components/Core.js, line 260

<readonly> previousRotation:number

The rotation the Game Object was in set to in the previous frame. Value is in radians.

Inherited From: Phaser.Component.Core#previousRotation Source - gameobjects/components/Core.js, line 267

renderable:Boolean

Should this DisplayObject be rendered by the renderer? An object with a renderable value of false is skipped during the render pass.

Inherited From: PIXI.DisplayObject#renderable Source - pixi/display/DisplayObject.js, line 98

<readonly> renderOrderID:number

The render order ID is used internally by the renderer and Input Manager and should not be modified. This property is mostly used internally by the renderers, but is exposed for the use of plugins.

Inherited From: Phaser.Component.Core#renderOrderID Source - gameobjects/components/Core.js, line 275

right:number

The right coordinate of the Game Object. This is the same as `x + width

  • offsetX`.

Inherited From: Phaser.Component.Bounds#right Source - gameobjects/components/Bounds.js, line 124

rotation:Number

The rotation of this DisplayObject. The value is given, and expressed, in radians, and is based on a right-handed orientation.

The value of this property does not reflect any rotation happening further up the display list. To obtain that value please see the worldRotation property.

Inherited From: PIXI.DisplayObject#rotation Source

pixi/display/DisplayObject.js, line 51

scale:PIXIPoint

The scale of this DisplayObject. A scale of 1:1 represents the DisplayObject at its default size. A value of 0.5 would scale this DisplayObject by half, and so on.

The value of this property does not reflect any scaling happening further up the display list. To obtain that value please see the worldScale property.

Inherited From: PIXI.DisplayObject#scale Source - pixi/display/DisplayObject.js, line 31

tint:Number

The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF to reset the tint.

Default Value: - 0xFFFFFF

Source - gameobjects/Graphics.js, line 118

top:number

The y coordinate of the Game Object. This is the same as y - offsetY.

Inherited From: Phaser.Component.Bounds#top Source

gameobjects/components/Bounds.js, line 146

type:number

The const type of this object.

Source - gameobjects/Graphics.js, line 59

visible:Boolean

The visibility of this DisplayObject. A value of false makes the object invisible. A value of true makes it visible. Please note that an object with a visible value of false is skipped during the render pass. Equally a DisplayObject with visible false will not render any of its children.

The value of this property does not reflect any visible values set further up the display list. To obtain that value please see the worldVisible property.

Inherited From: PIXI.DisplayObject#visible Source - pixi/display/DisplayObject.js, line 75

width:Number

The width of the displayObjectContainer, setting this will actually modify the scale to achieve the value set

Inherited From: PIXI.DisplayObjectContainer#width Source - pixi/display/DisplayObjectContainer.js, line 571

world:Phaser.Point

The world coordinates of this Game Object in pixels. Depending on where in the display list this Game Object is placed this value can differ from position, which contains the x/y coordinates relative to the Game Objects parent.

Inherited From: Phaser.Component.Core#world Source

gameobjects/components/Core.js, line 246

<readonly> worldAlpha:Number

The multiplied alpha value of this DisplayObject. A value of 1 is fully opaque. A value of 0 is transparent. This value is the calculated total, based on the alpha values of all parents of this DisplayObjects in the display list.

To obtain, and set, the local alpha value, see the alpha property.

Note: This property is only updated at the end of the updateTransform call, once per render. Until that happens this property will contain values based on the previous frame. Be mindful of this if accessing this property outside of the normal game flow, i.e. from an asynchronous event callback.

Inherited From: PIXI.DisplayObject#worldAlpha Source - pixi/display/DisplayObject.js, line 119

<readonly> worldPosition:PIXIPoint

The coordinates, in pixels, of this DisplayObject within the world.

This property contains the calculated total, based on the positions of all parents of this DisplayObject in the display list.

Note: This property is only updated at the end of the updateTransform call, once per render. Until that happens this property will contain values based on the previous frame. Be mindful of this if accessing this property outside of the normal game flow, i.e. from an asynchronous event callback.

Inherited From: PIXI.DisplayObject#worldPosition Source - pixi/display/DisplayObject.js, line 150

<readonly> worldRotation:Number

The rotation, in radians, of this DisplayObject.

This property contains the calculated total, based on the rotations of all parents of this DisplayObject in the display list.

Note: This property is only updated at the end of the updateTransform call, once per render. Until that happens this property will contain values based on the previous frame. Be mindful of this if accessing this property outside of the normal game flow, i.e. from an asynchronous event callback.

Inherited From: PIXI.DisplayObject#worldRotation Source - pixi/display/DisplayObject.js, line 180

<readonly> worldScale:PIXIPoint

The global scale of this DisplayObject.

This property contains the calculated total, based on the scales of all parents of this DisplayObject in the display list.

Note: This property is only updated at the end of the updateTransform call, once per render. Until that happens this property will contain values based on the previous frame. Be mindful of this if accessing this property outside of the normal game flow, i.e. from an asynchronous event callback.

Inherited From: PIXI.DisplayObject#worldScale Source - pixi/display/DisplayObject.js, line 165

<readonly> worldTransform:PhaserMatrix

The current transform of this DisplayObject.

This property contains the calculated total, based on the transforms of all parents of this DisplayObject in the display list.

Note: This property is only updated at the end of the updateTransform call, once per render. Until that happens this property will contain values based on the previous frame. Be mindful of this if accessing this property outside of the normal game flow, i.e. from an asynchronous event callback.

Inherited From: PIXI.DisplayObject#worldTransform Source - pixi/display/DisplayObject.js, line 135

worldVisible:Boolean

Indicates if this DisplayObject is visible, based on it, and all of its parents, visible property values.

Inherited From: PIXI.DisplayObject#worldVisible Source - pixi/display/DisplayObject.js, line 663

x:Number

The horizontal position of the DisplayObject, in pixels, relative to its parent. If you need the world position of the DisplayObject, use DisplayObject.worldPosition instead.

Inherited From: PIXI.DisplayObject#x Source - pixi/display/DisplayObject.js, line 619

y:Number

The vertical position of the DisplayObject, in pixels, relative to its parent. If you need the world position of the DisplayObject, use DisplayObject.worldPosition instead.

Inherited From: PIXI.DisplayObject#y Source - pixi/display/DisplayObject.js, line 641

<readonly> z:number

The z depth of this Game Object within its parent Group. No two objects in a Group can have the same z value. This value is adjusted automatically whenever the Group hierarchy changes. If you wish to re-order the layering of a Game Object then see methods like Group.moveUp or Group.bringToTop.

Inherited From: Phaser.Component.Core#z Source - gameobjects/components/Core.js, line 212

addChild(child)→ {PIXI.DisplayObject}

Adds a child to the container.

Parameters:

Name

Type

Description

child

PIXI.DisplayObject

The DisplayObject to add to the container

addChildAt(child, index)→

{PIXI.DisplayObject}

Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown

Parameters:

Name

Type

Description

child

PIXI.DisplayObject

The child to add

index

Number

The index to place the child in

alignIn(container, position, offsetX, offsetY)→ {Object}

Aligns this Game Object within another Game Object, or Rectangle, known as the 'container', to one of 9 possible positions.

The container must be a Game Object, or Phaser.Rectangle object. This can include properties such as World.bounds or Camera.view, for aligning Game Objects within the world and camera bounds. Or it can include other Sprites, Images, Text objects, BitmapText, TileSprites or Buttons.

Please note that aligning a Sprite to another Game Object does not make it a child of the container. It simply modifies its position coordinates so it aligns with it.

The position constants you can use are:

Phaser.TOP_LEFT, Phaser.TOP_CENTER, Phaser.TOP_RIGHT, Phaser.LEFT_CENTER, Phaser.CENTER, Phaser.RIGHT_CENTER, Phaser.BOTTOM_LEFT, Phaser.BOTTOM_CENTER and Phaser.BOTTOM_RIGHT.

The Game Objects are placed in such a way that their bounds align with the container, taking into consideration rotation, scale and the anchor property. This allows you to neatly align Game Objects, irrespective of their position value.

The optional offsetX and offsetY arguments allow you to apply extra spacing to the final aligned position of the Game Object. For example:

sprite.alignIn(background, Phaser.BOTTOM_RIGHT, -20, -20)

Would align the sprite to the bottom-right, but moved 20 pixels in from the corner. Think of the offsets as applying an adjustment to the containers bounds before the alignment takes place. So providing a negative offset will 'shrink' the container bounds by that amount, and providing a positive one expands it.

Parameters:

Name

Type

Argument

Default

Description

container

Phaser.Rectangle | Phaser.Sprite | Phaser.Image | Phaser.Text | Phaser.BitmapText | Phaser.Button | Phaser.Graphics | Phaser.TileSprite

The Game Object or Rectangle with which to align this Game Object to. Can also include properties such as World.bounds or Camera.view.

position

integer

<optional>

The position constant. One of Phaser.TOP_LEFT (default), Phaser.TOP_CENTER, Phaser.TOP_RIGHT, Phaser.LEFT_CENTER, Phaser.CENTER, Phaser.RIGHT_CENTER, Phaser.BOTTOM_LEFT, Phaser.BOTTOM_CENTER or Phaser.BOTTOM_RIGHT.

offsetX

integer

<optional>

0

A horizontal adjustment of the Containers bounds, applied to the aligned position of the Game Object. Use a negative value to shrink the bounds, positive to increase it.

offsetY

integer

<optional>

0

A vertical adjustment of the Containers bounds, applied to the aligned position of the Game Object. Use a negative value to shrink the bounds, positive to increase it.

Returns:

Object-

This Game Object.

Inherited From: Phaser.Component.Bounds#alignIn Source - gameobjects/components/Bounds.js, line 223

alignTo(parent, position, offsetX, offsetY)→ {Object}

Aligns this Game Object to the side of another Game Object, or Rectangle, known as the 'parent', in one of 11 possible positions.

The parent must be a Game Object, or Phaser.Rectangle object. This can include properties such as World.bounds or Camera.view, for aligning Game Objects within the world and camera bounds. Or it can include other Sprites, Images, Text objects, BitmapText, TileSprites or Buttons.

Please note that aligning a Sprite to another Game Object does not make it a child of the parent. It simply modifies its position coordinates so it aligns with it.

The position constants you can use are:

Phaser.TOP_LEFT (default), Phaser.TOP_CENTER, Phaser.TOP_RIGHT, Phaser.LEFT_TOP, Phaser.LEFT_CENTER, Phaser.LEFT_BOTTOM, Phaser.RIGHT_TOP, Phaser.RIGHT_CENTER, Phaser.RIGHT_BOTTOM, Phaser.BOTTOM_LEFT, Phaser.BOTTOM_CENTER and Phaser.BOTTOM_RIGHT.

The Game Objects are placed in such a way that their bounds align with the parent, taking into consideration rotation, scale and the anchor property. This allows you to neatly align Game Objects, irrespective of their position value.

The optional offsetX and offsetY arguments allow you to apply extra spacing to the final aligned position of the Game Object. For example:

sprite.alignTo(background, Phaser.BOTTOM_RIGHT, -20, -20)

Would align the sprite to the bottom-right, but moved 20 pixels in from the corner. Think of the offsets as applying an adjustment to the parents bounds before the alignment takes place. So providing a negative offset will 'shrink' the parent bounds by that amount, and providing a positive one expands it.

Parameters:

Name

Type

Argument

Default

Description

parent

Phaser.Rectangle | Phaser.Sprite | Phaser.Image | Phaser.Text | Phaser.BitmapText | Phaser.Button | Phaser.Graphics | Phaser.TileSprite

The Game Object or Rectangle with which to align this Game Object to. Can also include properties such as World.bounds or Camera.view.

position

integer

<optional>

The position constant. One of Phaser.TOP_LEFT, Phaser.TOP_CENTER, Phaser.TOP_RIGHT, Phaser.LEFT_TOP, Phaser.LEFT_CENTER, Phaser.LEFT_BOTTOM, Phaser.RIGHT_TOP, Phaser.RIGHT_CENTER, Phaser.RIGHT_BOTTOM, Phaser.BOTTOM_LEFT, Phaser.BOTTOM_CENTER or Phaser.BOTTOM_RIGHT.

offsetX

integer

<optional>

0

A horizontal adjustment of the Containers bounds, applied to the aligned position of the Game Object. Use a negative value to shrink the bounds, positive to increase it.

offsetY

integer

<optional>

0

A vertical adjustment of the Containers bounds, applied to the aligned position of the Game Object. Use a negative value to shrink the bounds, positive to increase it.

Returns:

Object-

This Game Object.

Inherited From: Phaser.Component.Bounds#alignTo Source - gameobjects/components/Bounds.js, line 321

arc(cx, cy, radius, startAngle, endAngle, anticlockwise,segments)→ {Graphics}

The arc method creates an arc/curve (used to create circles, or parts ofcircles).

Parameters:

Name

Type

Description

cx

Number

The x-coordinate of the center of the circle

cy

Number

The y-coordinate of the center of the circle

radius

Number

The radius of the circle

startAngle

Number

The starting angle, in radians (0 is at the 3 o'clock position of thearc's circle)

endAngle

Number

The ending angle, in radians

anticlockwise

Boolean

Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.

segments

Number

Optional. The number of segments to use when calculating the arc. The default is 40. If you need more fidelity use a higher number.

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 650

arcTo(x1, y1, x2, y2, radius)→ {Graphics}

The arcTo() method creates an arc/curve between two tangents on the canvas.

"borrowed" from https://code.google.com/p/fxcanvas/ - thanks google!

Parameters:

Name

Type

Description

x1

Number

The x-coordinate of the beginning of the arc

y1

Number

The y-coordinate of the beginning of the arc

x2

Number

The x-coordinate of the end of the arc

y2

Number

The y-coordinate of the end of the arc

radius

Number

The radius of the arc

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 579

beginFill(color, alpha)→ {Graphics}

Specifies a simple one-color fill that subsequent calls to other Graphics methods (such as lineTo() or drawCircle()) use when drawing.

Parameters:

Name

Type

Description

color

Number

the color of the fill

alpha

Number

the alpha of the fill

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 737

bezierCurveTo(cpX, cpY, cpX2, cpY2, toX, toY)→ {Graphics}

Calculate the points for a bezier curve and then draws it.

Parameters:

Name

Type

Description

cpX

Number

Control point x

cpY

Number

Control point y

cpX2

Number

Second Control point x

cpY2

Number

Second Control point y

toX

Number

Destination point x

toY

Number

Destination point y

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 519

clear()→ {Graphics}

Clears the graphics that were drawn to this Graphics object, and resets fill and line style settings.

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 886

contains(child)→ {Boolean}

Determines whether the specified display object is a child of the DisplayObjectContainer instance or the instance itself.

Parameters:

Name

Type

Description

child

PIXI.DisplayObject

containsPoint(point)→ {boolean}

Tests if a point is inside this graphics object

Parameters:

Name

Type

Description

point

Point

the point to test

Returns:

boolean-

the result of the test

Source - gameobjects/Graphics.js, line 1252

destroy(destroyChildren)

Destroy this Graphics instance.

Parameters:

Name

Type

Argument

Default

Description

destroyChildren

boolean

<optional>

true

Should every child of this object have its destroy method called?

Source - gameobjects/Graphics.js, line 266

destroyCachedSprite()

Destroys a previous cached sprite.

Source - gameobjects/Graphics.js, line 1462

drawCircle(x, y, diameter)→ {Graphics}

Draws a circle.

Parameters:

Name

Type

Description

x

Number

The X coordinate of the center of the circle

y

Number

The Y coordinate of the center of the circle

diameter

Number

The diameter of the circle

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 815

drawEllipse(x, y, width, height)→ {Graphics}

Draws an ellipse.

Parameters:

Name

Type

Description

x

Number

The X coordinate of the center of the ellipse

y

Number

The Y coordinate of the center of the ellipse

width

Number

The half width of the ellipse

height

Number

The half height of the ellipse

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 832

drawPolygon(path)→ {Graphics}

Draws a polygon using the given path.

Parameters:

Name

Type

Description

path

Array | Phaser.Polygon

The path data used to construct the polygon. Can either be an array of points or a Phaser.Polygon object.

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 850

drawRect(x, y, width, height)→ {Graphics}

Parameters:

Name

Type

Description

x

Number

The X coord of the top-left of the rectangle

y

Number

The Y coord of the top-left of the rectangle

width

Number

The width of the rectangle

height

Number

The height of the rectangle

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 782

drawRoundedRect(x, y, width, height, radius)

Parameters:

Name

Type

Description

x

Number

The X coord of the top-left of the rectangle

y

Number

The Y coord of the top-left of the rectangle

width

Number

The width of the rectangle

height

Number

The height of the rectangle

radius

Number

Radius of the rectangle corners. In WebGL this must be a value between 0 and 9.

Source - gameobjects/Graphics.js, line 799

drawShape(shape)→ {GraphicsData}

Draws the given shape to this Graphics object. Can be any of Circle, Rectangle, Ellipse, Line or Polygon.

Parameters:

Name

Type

Description

shape

Circle | Rectangle | Ellipse | Line | Polygon

The Shape object to draw.

Returns:

GraphicsData-

The generated GraphicsData object.

Source - gameobjects/Graphics.js, line 1474

drawTriangle(points, cull)

Draws a single {Phaser.Polygon} triangle from a {Phaser.Point} array

Parameters:

Name

Type

Argument

Default

Description

points

Array.<Phaser.Point>

An array of Phaser.Points that make up the three vertices of this triangle

cull

boolean

<optional>

false

Should we check if the triangle is back-facing

Source - gameobjects/Graphics.js, line 280

drawTriangles(vertices, {indices, cull)

Draws {Phaser.Polygon} triangles

Parameters:

Name

Type

Argument

Default

Description

vertices

Array.<Phaser.Point> | Array.<number>

An array of Phaser.Points or numbers that make up the vertices of the triangles

{indices

Array.<number>

null}

An array of numbers that describe what order to draw the vertices in

cull

boolean

<optional>

false

Should we check if the triangle is back-facing

Source - gameobjects/Graphics.js, line 312

endFill()→ {Graphics}

Applies a fill to the lines and shapes that were added since the last call to the beginFill() method.

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 766

generateTexture(resolution, scaleMode, padding)→ {Texture}

Useful function that returns a texture of the graphics object that can then be used to create sprites This can be quite useful if your geometry is complicated and needs to be reused multiple times.

Parameters:

Name

Type

Argument

Default

Description

resolution

Number

<optional>

1

The resolution of the texture being generated

scaleMode

Number

<optional>

0

Should be one of the PIXI.scaleMode consts

padding

Number

<optional>

0

Add optional extra padding to the generated texture (default 0)

Returns:

Texture-

a texture of the graphics object

Source - gameobjects/Graphics.js, line 908

getBounds()→ {Rectangle}

Retrieves the bounds of the graphic shape as a rectangle object

Returns:

Rectangle-

the rectangular bounding area

Source - gameobjects/Graphics.js, line 1126

getChildAt(index)→

{PIXI.DisplayObject}

Returns the child at the specified index

Parameters:

Name

Type

Description

index

Number

The index to get the child from

Returns:

PIXI.DisplayObject-

The child at the given index, if any.

Inherited From: PIXI.DisplayObjectContainer#getChildAt Source - pixi/display/DisplayObjectContainer.js, line 153

getChildIndex(child)→ {Number}

Returns the index position of a child DisplayObject instance

Parameters:

Name

Type

Description

child

PIXI.DisplayObject

The DisplayObject instance to identify

Returns:

Number-

The index position of the child display object to identify

Inherited From: PIXI.DisplayObjectContainer#getChildIndex Source - pixi/display/DisplayObjectContainer.js, line 112

getLocalBounds()→ {Rectangle}

Retrieves the non-global local bounds of the graphic shape as a rectangle. The calculation takes all visible children into consideration.

Returns:

Rectangle-

The rectangular bounding area

Source - gameobjects/Graphics.js, line 1216

kill()→ {PIXI.DisplayObject}

Kills a Game Object. A killed Game Object has its alive, exists and visible properties all set to false.

It will dispatch the onKilled event. You can listen to events.onKilled for the signal.

Note that killing a Game Object is a way for you to quickly recycle it in an object pool, it doesn't destroy the object or free it up from memory.

If you don't need this Game Object any more you should call destroy instead.

lineStyle(lineWidth, color, alpha)→ {Graphics}

Specifies the line style used for subsequent calls to Graphics methods such as the lineTo() method or the drawCircle() method.

Parameters:

Name

Type

Description

lineWidth

Number

width of the line to draw, will update the objects stored style

color

Number

color of the line to draw, will update the objects stored style

alpha

Number

alpha of the line to draw, will update the objects stored style

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 388

lineTo(x, y)→ {Graphics}

Draws a line using the current line style from the current drawing position to (x, y); The current drawing position is then set to (x, y).

Parameters:

Name

Type

Description

x

Number

the X coordinate to draw to

y

Number

the Y coordinate to draw to

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 439

moveTo(x, y)→ {Graphics}

Moves the current drawing position to x, y.

Parameters:

Name

Type

Description

x

Number

the X coordinate to move to

y

Number

the Y coordinate to move to

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 423

postUpdate()

Automatically called by World

Source - gameobjects/Graphics.js, line 243

preUpdate()

Automatically called by World.preUpdate.

Source - gameobjects/Graphics.js, line 227

quadraticCurveTo(cpX, cpY, toX, toY)→ {Graphics}

Calculate the points for a quadratic bezier curve and then draws it. Based on: https://stackoverflow.com/questions/785097/how-do-i-implement-a-bezier-curve-in-c

Parameters:

Name

Type

Description

cpX

Number

Control point x

cpY

Number

Control point y

toX

Number

Destination point x

toY

Number

Destination point y

Returns:

Graphics-

Source - gameobjects/Graphics.js, line 463

removeChild(child)→

{PIXI.DisplayObject}

Removes a child from the container.

Parameters:

Name

Type

Description

child

PIXI.DisplayObject

The DisplayObject to remove

removeChildAt(index)→

{PIXI.DisplayObject}

Removes a child from the specified index position.

Parameters:

Name

Type

Description

index

Number

The index to get the child from

removeChildren(beginIndex, endIndex)

Removes all children from this container that are within the begin and end indexes.

Parameters:

Name

Type

Description

beginIndex

Number

The beginning position. Default value is 0.

endIndex

Number

The ending position. Default value is size of the container.

Inherited From: PIXI.DisplayObjectContainer#removeChildren Source - pixi/display/DisplayObjectContainer.js, line 213

reset(x, y, health)→

{PIXI.DisplayObject}

Resets the Game Object.

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, visible and renderable to true.

If this Game Object has the LifeSpan component it will also set alive to true and health to the given value.

If this Game Object has a Physics Body it will reset the Body.

Parameters:

Name

Type

Argument

Default

Description

x

number

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

y

number

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

health

number

<optional>

1

The health to give the Game Object if it has the Health component.

revive(health)→ {PIXI.DisplayObject}

Brings a 'dead' Game Object back to life, optionally resetting its health value in the process.

A resurrected Game Object has its alive, exists and visible properties all set to true.

It will dispatch the onRevived event. Listen to events.onRevived for the signal.

Parameters:

Name

Type

Argument

Default

Description

health

number

<optional>

100

The health to give the Game Object. Only set if the GameObject has the Health component.

setChildIndex(child, index)

Changes the position of an existing child in the display object container

Parameters:

Name

Type

Description

child

PIXI.DisplayObject

The child DisplayObject instance for which you want to change the index number

index

Number

The resulting index number for the child display object

Inherited From: PIXI.DisplayObjectContainer#setChildIndex Source - pixi/display/DisplayObjectContainer.js, line 132

swapChildren(child, child2)

Swaps the position of 2 Display Objects within this container.

Parameters:

Name

Type

Description

child

PIXI.DisplayObject

child2

PIXI.DisplayObject

Inherited From: PIXI.DisplayObjectContainer#swapChildren Source - pixi/display/DisplayObjectContainer.js, line 85

update()

Override this method in your own custom objects to handle any update requirements. It is called immediately after preUpdate and before postUpdate. Remember if this Game Object has any children you should call update on those too.

Inherited From: Phaser.Component.Core#update Source - gameobjects/components/Core.js, line 363

updateLocalBounds()

Update the bounds of the object

Source - gameobjects/Graphics.js, line 1283