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.

You may have to modify Phaser.Graphics#scale rather than Phaser.Graphics#width or Phaser.Graphics#height to avoid an unusual race condition (https://github.com/photonstorm/phaser-ce/issues/489).

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 54

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 55

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 186
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 131

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 97

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 156

boundsPadding : Number

The bounds' padding used for bounds calculation.

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

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 791

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 82

centerX : number

The local 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 56

centerY : number

The local 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 76

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 103

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

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 153

debug : boolean

A debug flag designed for use with Game.enableStep.

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

<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 178
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 277

fillAlpha : Number

The alpha value used when filling the Graphics object.

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

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 205

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 740

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 54

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

game : Phaser.Game

A reference to the currently running Game.

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

height : Number

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

Type:
  • Number
Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 606

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 99

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 134

isMask : Boolean

Whether this shape is being used as a mask.

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

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 196

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 96

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 game.time.delta 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 70

lineColor : String

The color of any lines drawn.

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

lineWidth : Number

The width (thickness) of any lines drawn.

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

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 707

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 143

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

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 111

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 120

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

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 252

<readonly> physicsType : number

The const physics body type of this object.

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

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 218

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

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 108

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

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 116

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 (Phaser.Color.WHITE) to reset the tint.

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

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 136

type : number

The const type of this object.

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

visible : boolean

The visibility of this DisplayObject. A value of false makes the object invisible. A value of true makes it visible.

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.

Objects that are not worldVisible do not update their worldPosition.

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

width : Number

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

Type:
  • Number
Inherited From:
Source:
src/pixi/display/DisplayObjectContainer.js line 576

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 204

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

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

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

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

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

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 666

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 626

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 646

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

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 41
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 53
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 209
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 306
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 648
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 578
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 734
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 880
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 456
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 1247
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 274

destroyCachedSprite()

Destroys a previous cached sprite.

Source:
src/gameobjects/Graphics.js line 1473

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 808
Returns:
Type
Graphics

drawEllipse(centerX, centerY, halfWidth, halfHeight)

Draws an ellipse.

Parameters:
Name Type Description
centerX Number

The X coordinate of the center of the ellipse

centerY Number

The Y coordinate of the center of the ellipse

halfWidth Number

The half width of the ellipse

halfHeight Number

The half height of the ellipse

Source:
src/gameobjects/Graphics.js line 824
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 841
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 777
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 793

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 1484
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 287

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 318

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 762
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 901
Returns:

a texture of the graphics object

Type
Texture

getBounds()

Retrieves the bounds of the graphic shape as a rectangle object.

If this graphic is being used as a mask, the bounds will be an empty rectangle. Use Phaser.Graphics#getBounds instead if you need to mask's own dimensions.

The returned value is a direct reference, so you shouldn't modify it (modify a copy instead).

Overrides:
Source:
src/gameobjects/Graphics.js line 1118
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 147
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 108
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 1212
Returns:

The rectangular bounding area

Type
Rectangle

getVisualBounds( [output])

Copy and return the visual bounds of the object, based on the drawn data.

This is a rectangle with origin (0, 0) encompassing all the shapes drawn on this object.

Parameters:
Name Type Argument Description
output Phaser.Rectangle <optional>

An existing rectangle to copy the bounds into.

Source:
src/gameobjects/Graphics.js line 1277
Returns:
Type
Phaser.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 117
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 392
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 441
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 426
Returns:
Type
Graphics

postUpdate()

Automatically called by World

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

preUpdate()

Automatically called by World.preUpdate.

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

<protected> preUpdateChildren()

Internal method called by preUpdate.

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

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 464
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 164
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 183
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 224

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 83
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 127

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 82

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 497
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 343

updateCache()

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

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

updateLocalBounds()

Update the visual bounds of the object, based on the drawn data.

Source:
src/gameobjects/Graphics.js line 1297

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 291
Returns:
  • A reference to this DisplayObject.
Type
PIXI.DisplayObject

phaser-ce@2.20.0 is on GitHub and NPM

Documentation generated by JSDoc 3.6.7 on 2022-12-10 using Tomorrow.