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. |
Extends
- PIXI.DisplayObjectContainer
- Phaser.Component.Core
- Phaser.Component.Angle
- Phaser.Component.AutoCull
- Phaser.Component.Bounds
- Phaser.Component.Destroy
- Phaser.Component.FixedToCamera
- Phaser.Component.InputEnabled
- Phaser.Component.InWorld
- Phaser.Component.LifeSpan
- Phaser.Component.PhysicsBody
- Phaser.Component.Reset
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 itsrenderable
property set tofalse
. 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 benull
.To enable this Game Object for physics you need to call
game.physics.enable(object, system)
whereobject
is this object andsystem
is the Physics system you are using. If none is given it defaults toPhaser.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
-
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 tonull
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
istrue
.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 tofalse
it will remove its physics body from the physics world if it has one. It also toggles thevisible
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 thevisible
property totrue
.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
-
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 havefixedToCamera
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
isfalse
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, otherwisefalse
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:
- Phaser.InputHandler | null
- 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
-
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:
- string | Phaser.RenderTexture | Phaser.BitmapData | Phaser.Video | PIXI.Texture
- 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 thekill
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
-
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 tonull
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 totrue
then thekill
method is called as soon asinWorld
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 totrue
, then thekill
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
-
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
-
right : number
-
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
-
visible : boolean
-
The visibility of this DisplayObject. A value of
false
makes the object invisible. A value oftrue
makes it visible.An object with a visible value of
false
is skipped during the render pass. Equally a DisplayObject with visiblefalse
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
orCamera.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
andPhaser.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
andoffsetY
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
orCamera.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
orPhaser.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
orCamera.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
andPhaser.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
andoffsetY
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
orCamera.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
orPhaser.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.
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
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
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
Returns:
- Type
- Graphics
-
clear()
-
Clears the graphics that were drawn to this Graphics object, and resets fill and line style settings.
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
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.
-
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
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
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.
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
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.
-
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.
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
-
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
-
endFill()
-
Applies a fill to the lines and shapes that were added since the last call to the beginFill() method.
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.
Returns:
- Type
- Phaser.Rectangle
-
kill()
-
Kills a Game Object. A killed Game Object has its
alive
,exists
andvisible
properties all set to false.It will dispatch the
onKilled
event. You can listen toevents.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
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
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
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
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
andrenderable
to true.If this Game Object has the LifeSpan component it will also set
alive
to true andhealth
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
andvisible
properties all set to true.It will dispatch the
onRevived
event. Listen toevents.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 beforepostUpdate
. 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.
-
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
andworldRotation
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