Class: Graphics

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:
src/gameobjects/Graphics.js line 50

Extends

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.

Type:
  • boolean
Inherited From:
Default Value:
  • true
Source:
src/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.

Type:
  • number
Inherited From:
Default Value:
  • 1
Source:
src/pixi/display/DisplayObject.js line 73

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.

Type:
  • number
Inherited From:
Source:
src/gameobjects/components/Angle.js line 29

animations :Phaser.AnimationManager

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.

Type:
Inherited From:
Source:
src/gameobjects/components/Core.js line 215
See:

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.

Type:
  • boolean
Inherited From:
Source:
src/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.

Type:
  • Number
Default Value:
  • PIXI.blendModes.NORMAL;
Source:
src/gameobjects/Graphics.js line 127

body :Phaser.Physics.Arcade.Body|Phaser.Physics.P2.Body|Phaser.Physics.Ninja.Body|null

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.

Type:
Inherited From:
Source:
src/gameobjects/components/PhysicsBody.js line 93

bottom :number

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

Type:
  • number
Inherited From:
Source:
src/gameobjects/components/Bounds.js line 168

boundsPadding :Number

The bounds' padding used for bounds calculation.

Type:
  • Number
Source:
src/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.

Transparent areas adjoining the edges may be removed (#283).

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. Cache this DisplayObject as a Bitmap. Set to null to remove an existing cached bitmap.

Type:
  • boolean
Inherited From:
Source:
src/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.

Type:
Inherited From:
Source:
src/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).

Type:
  • number
Inherited From:
Source:
src/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).

Type:
  • number
Inherited From:
Source:
src/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.

Type:
  • boolean
Inherited From:
Source:
src/gameobjects/components/InWorld.js line 98

<readonly> children :Array(DisplayObject)

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

Type:
  • Array(DisplayObject)
Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 24

<protected> components :object

The components this Game Object has installed.

Type:
  • object
Inherited From:
Source:
src/gameobjects/components/Core.js line 189

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.

Type:
  • Object
Inherited From:
Default Value:
  • {}
Source:
src/gameobjects/components/Core.js line 182

debug :boolean

A debug flag designed for use with Game.enableStep.

Type:
  • boolean
Inherited From:
Source:
src/gameobjects/components/Core.js line 240

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

Type:
  • boolean
Inherited From:
Source:
src/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.

Type:
Inherited From:
Source:
src/gameobjects/components/Core.js line 207
See:

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.

Type:
  • boolean
Inherited From:
Source:
src/gameobjects/components/Core.js line 306

fillAlpha :Number

The alpha value used when filling the Graphics object.

Type:
  • Number
Source:
src/gameobjects/Graphics.js line 83

filterArea :Rectangle

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

Type:
  • Rectangle
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 202

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. An Array of Phaser.Filter objects, or objects that extend them.

Type:
  • Array
Inherited From:
Source:
src/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.

Type:
  • boolean
Inherited From:
Source:
src/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.

Type:
  • boolean
Inherited From:
Source:
src/gameobjects/components/Core.js line 270

game :Phaser.Game

A reference to the currently running Game.

Type:
Inherited From:
Source:
src/gameobjects/components/Core.js line 164

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 to hit test all the children)

Type:
  • Rectangle | Circle | Ellipse | Polygon
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 96

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.

Type:
  • boolean
Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 35

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

Type:
  • boolean
Inherited From:
Source:
src/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.

Type:
Inherited From:
Source:
src/gameobjects/components/InputEnabled.js line 24

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.

Type:
  • boolean
Inherited From:
Source:
src/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.

Type:
  • boolean
Inherited From:
Source:
src/gameobjects/components/InWorld.js line 129

isMask :Boolean

Whether this shape is being used as a mask.

Type:
  • Boolean
Source:
src/gameobjects/Graphics.js line 153

key :string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture

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.

Type:
Inherited From:
Source:
src/gameobjects/components/Core.js line 225

left :number

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

Type:
  • number
Inherited From:
Source:
src/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.

Type:
  • number
Inherited From:
Source:
src/gameobjects/components/LifeSpan.js line 65

lineColor :String

The color of any lines drawn.

Type:
  • String
Default Value:
  • 0
Source:
src/gameobjects/Graphics.js line 100

lineWidth :Number

The width (thickness) of any lines drawn.

Type:
  • Number
Source:
src/gameobjects/Graphics.js line 91

mask :Phaser.Graphics

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. The mask applied to this DisplayObject. Set to null to remove an existing mask.

Type:
Inherited From:
Source:
src/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.

Type:
  • string
Inherited From:
Source:
src/gameobjects/components/Core.js line 172

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

Type:
  • number
Inherited From:
Source:
src/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.

Type:
  • number
Inherited From:
Source:
src/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.

Type:
  • boolean
Inherited From:
Source:
src/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.

Type:
  • boolean
Inherited From:
Source:
src/gameobjects/components/InWorld.js line 115

<readonly> parent :PIXI.DisplayObjectContainer

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.

Type:
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 117

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.

Type:
  • boolean
Inherited From:
Source:
src/gameobjects/components/Core.js line 281

<readonly> physicsType :number

The const physics body type of this object.

Type:
  • number
Source:
src/gameobjects/Graphics.js line 65

pivot :PIXI.Point

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

Type:
  • PIXI.Point
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 49

position :PIXI.Point

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.

Type:
  • PIXI.Point
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 29

<readonly> previousPosition :Phaser.Point

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

Type:
Inherited From:
Source:
src/gameobjects/components/Core.js line 247

<readonly> previousRotation :number

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

Type:
  • number
Inherited From:
Source:
src/gameobjects/components/Core.js line 254

renderable :boolean

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

Type:
  • boolean
Inherited From:
Overrides:
Source:
src/pixi/display/DisplayObject.js line 105

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

Type:
  • number
Inherited From:
Source:
src/gameobjects/components/Core.js line 262

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

Type:
  • number
Inherited From:
Source:
src/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.

Type:
  • number
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 61

scale :PIXI.Point

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.

Type:
  • PIXI.Point
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 41

tint :Number

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

Type:
  • Number
Default Value:
  • 0xFFFFFF
Source:
src/gameobjects/Graphics.js line 118

top :number

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

Type:
  • number
Inherited From:
Source:
src/gameobjects/components/Bounds.js line 146

type :number

The const type of this object.

Type:
  • number
Source:
src/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.

Type:
  • boolean
Inherited From:
Default Value:
  • true
Source:
src/pixi/display/DisplayObject.js line 87

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.

Type:
Inherited From:
Source:
src/gameobjects/components/Core.js line 233

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

Type:
  • number
Inherited From:
Overrides:
Source:
src/pixi/display/DisplayObject.js line 133

<readonly> worldPosition :PIXI.Point

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.

Type:
  • PIXI.Point
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 163

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

Type:
  • number
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 193

<readonly> worldScale :PIXI.Point

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.

Type:
  • PIXI.Point
Inherited From:
Source:
src/pixi/display/DisplayObject.js line 178

<readonly> worldTransform :Phaser.Matrix

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.

Type:
Inherited From:
Overrides:
Source:
src/pixi/display/DisplayObject.js line 148

worldVisible :boolean

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

Type:
  • boolean
Inherited From:
Source:
src/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.

Type:
  • number
Inherited From:
Overrides:
Source:
src/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.

Type:
  • number
Inherited From:
Overrides:
Source:
src/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.

Type:
  • number
Inherited From:
Source:
src/gameobjects/components/Core.js line 199

Methods

addChild(child)

Adds a child to the container.

Parameters:
Name Type Description
child DisplayObject

The DisplayObject to add to the container

Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 42
Returns:

The child that was added.

Type
DisplayObject

addChildAt(child, index)

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 DisplayObject

The child to add

index Number

The index to place the child in

Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 55
Returns:

The child that was added.

Type
DisplayObject

alignIn(container [, position] [, offsetX] [, offsetY])

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.

Inherited From:
Source:
src/gameobjects/components/Bounds.js line 223
Returns:

This Game Object.

Type
Object

alignTo(parent [, position] [, offsetX] [, offsetY])

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.

Inherited From:
Source:
src/gameobjects/components/Bounds.js line 321
Returns:

This Game Object.

Type
Object

arc(cx, cy, radius, startAngle, endAngle, anticlockwise, segments)

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

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 the arc'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.

Source:
src/gameobjects/Graphics.js line 650
Returns:
Type
Graphics

arcTo(x1, y1, x2, y2, radius)

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

Source:
src/gameobjects/Graphics.js line 579
Returns:
Type
Graphics

beginFill(color, alpha)

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

Source:
src/gameobjects/Graphics.js line 737
Returns:
Type
Graphics

bezierCurveTo(cpX, cpY, cpX2, cpY2, toX, toY)

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

Source:
src/gameobjects/Graphics.js line 519
Returns:
Type
Graphics

clear()

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

Source:
src/gameobjects/Graphics.js line 886
Returns:
Type
Graphics

contains(child)

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

Parameters:
Name Type Description
child DisplayObject
Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 449
Returns:
Type
boolean

containsPoint(point)

Tests if a point is inside this graphics object

Parameters:
Name Type Description
point Point

the point to test

Source:
src/gameobjects/Graphics.js line 1254
Returns:

the result of the test

Type
boolean

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?

Overrides:
Source:
src/gameobjects/Graphics.js line 266

destroyCachedSprite()

Destroys a previous cached sprite.

Source:
src/gameobjects/Graphics.js line 1464

drawCircle(x, y, diameter)

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

Source:
src/gameobjects/Graphics.js line 815
Returns:
Type
Graphics

drawEllipse(x, y, width, height)

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

Source:
src/gameobjects/Graphics.js line 832
Returns:
Type
Graphics

drawPolygon(path)

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.

Source:
src/gameobjects/Graphics.js line 850
Returns:
Type
Graphics

drawRect(x, y, width, height)

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

Source:
src/gameobjects/Graphics.js line 782
Returns:
Type
Graphics

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:
src/gameobjects/Graphics.js line 799

drawShape(shape)

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.

Source:
src/gameobjects/Graphics.js line 1476
Returns:

The generated GraphicsData object.

Type
GraphicsData

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:
src/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> <optional>
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:
src/gameobjects/Graphics.js line 312

endFill()

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

Source:
src/gameobjects/Graphics.js line 766
Returns:
Type
Graphics

generateTexture( [resolution] [, scaleMode] [, padding])

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.

Transparent areas adjoining the edges may be removed (#283).

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)

Overrides:
Source:
src/gameobjects/Graphics.js line 908
Returns:

a texture of the graphics object

Type
Texture

getBounds()

Retrieves the bounds of the graphic shape as a rectangle object

Overrides:
Source:
src/gameobjects/Graphics.js line 1128
Returns:

the rectangular bounding area

Type
Rectangle

getChildAt(index)

Returns the child at the specified index

Parameters:
Name Type Description
index Number

The index to get the child from

Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 153
Returns:

The child at the given index, if any.

Type
DisplayObject

getChildIndex(child)

Returns the index position of a child DisplayObject instance

Parameters:
Name Type Description
child DisplayObject

The DisplayObject instance to identify

Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 112
Returns:

The index position of the child display object to identify

Type
Number

getLocalBounds()

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

Overrides:
Source:
src/gameobjects/Graphics.js line 1218
Returns:

The rectangular bounding area

Type
Rectangle

kill()

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.

Inherited From:
Source:
src/gameobjects/components/LifeSpan.js line 113
Returns:

This instance.

Type
PIXI.DisplayObject

lineStyle(lineWidth, color, alpha)

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

Source:
src/gameobjects/Graphics.js line 388
Returns:
Type
Graphics

lineTo(x, y)

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

Source:
src/gameobjects/Graphics.js line 439
Returns:
Type
Graphics

moveTo(x, y)

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

Source:
src/gameobjects/Graphics.js line 423
Returns:
Type
Graphics

postUpdate()

Automatically called by World

Overrides:
Source:
src/gameobjects/Graphics.js line 243

preUpdate()

Automatically called by World.preUpdate.

Overrides:
Source:
src/gameobjects/Graphics.js line 227

<protected> preUpdateChildren()

Internal method called by preUpdate.

Inherited From:
Source:
src/gameobjects/components/Core.js line 349

quadraticCurveTo(cpX, cpY, toX, toY)

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

Source:
src/gameobjects/Graphics.js line 463
Returns:
Type
Graphics

removeChild(child)

Removes a child from the container.

Parameters:
Name Type Description
child DisplayObject

The DisplayObject to remove

Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 171
Returns:

The child that was removed.

Type
DisplayObject

removeChildAt(index)

Removes a child from the specified index position.

Parameters:
Name Type Description
index Number

The index to get the child from

Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 191
Returns:

The child that was removed.

Type
DisplayObject

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:
Source:
src/pixi/display/DisplayObjectContainer.js line 213

reset(x, y [, health])

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.

Inherited From:
Source:
src/gameobjects/components/Reset.js line 30
Returns:

This instance.

Type
PIXI.DisplayObject

revive( [health])

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.

Inherited From:
Source:
src/gameobjects/components/LifeSpan.js line 78
Returns:

This instance.

Type
PIXI.DisplayObject

setChildIndex(child, index)

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

Parameters:
Name Type Description
child 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:
Source:
src/pixi/display/DisplayObjectContainer.js line 132

swapChildren(child, child2)

Swaps the position of 2 Display Objects within this container.

Parameters:
Name Type Description
child DisplayObject
child2 DisplayObject
Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 85

toGlobal(position)

Calculates the global position of this DisplayObject, based on the position given.

Parameters:
Name Type Description
position PIXI.Point

The global position to calculate from.

Inherited From:
Source:
src/pixi/display/DisplayObject.js line 483
Returns:
  • A point object representing the position of this DisplayObject based on the global position given.
Type
PIXI.Point

toLocal(position [, from])

Calculates the local position of this DisplayObject, relative to another point.

Parameters:
Name Type Argument Description
position PIXI.Point

The world origin to calculate from.

from PIXI.DisplayObject <optional>

An optional DisplayObject to calculate the global position from.

Inherited From:
Source:
src/pixi/display/DisplayObject.js line 498
Returns:
  • A point object representing the position of this DisplayObject based on the global position given.
Type
PIXI.Point

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:
Source:
src/gameobjects/components/Core.js line 375

updateCache()

If this DisplayObject has a cached Sprite, this method generates and updates it.

Inherited From:
Source:
src/pixi/display/DisplayObject.js line 469
Returns:
  • A reference to this DisplayObject.
Type
PIXI.DisplayObject

updateLocalBounds()

Update the bounds of the object

Source:
src/gameobjects/Graphics.js line 1285

updateTransform( [parent])

Updates the transform matrix this DisplayObject uses for rendering.

If the object has no parent, and no parent parameter is provided, it will default to Phaser.Game.World as the parent transform to use. If that is unavailable the transform fails to take place.

The parent parameter has priority over the actual parent. Use it as a parent override. Setting it does not change the actual parent of this DisplayObject.

Calling this method updates the worldTransform, worldAlpha, worldPosition, worldScale and worldRotation properties.

If a transformCallback has been specified, it is called at the end of this method, and is passed the new, updated, worldTransform property, along with the parent transform used.

Parameters:
Name Type Argument Description
parent PIXI.DisplayObjectContainer <optional>

Optional parent to calculate this DisplayObjects transform from.

Inherited From:
Source:
src/pixi/display/DisplayObject.js line 289
Returns:
  • A reference to this DisplayObject.
Type
PIXI.DisplayObject