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

Constructor

Phaser. Game

new Game(width, height, renderer, parent, state, transparent, antialias, physicsConfig)

This is where the magic happens. The Game object is the heart of your game, providing quick access to common functions and handling the boot process.

"Hell, there are no rules here - we're trying to accomplish something." Thomas A. Edison

Parameters
Name Type Argument Default Description
width number | string <optional>
800

The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given.

height number | string <optional>
600

The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given.

renderer number <optional>
Phaser.AUTO

Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all).

parent string | HTMLElement <optional>
''

The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself.

state object <optional>
null

The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null.

transparent boolean <optional>
false

Use a transparent canvas background or not.

antialias boolean <optional>
true

Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art.

physicsConfig object <optional>
null

A physics configuration object to pass to the Physics world on creation.

Source code: core/Game.js, line 25

Public Properties

add : Phaser.GameObjectFactory

Reference to the Phaser.GameObjectFactory.

Source code: core/Game.js, line 139

antialias : boolean

Anti-alias graphics. By default scaled images are smoothed in Canvas and WebGL, set anti-alias to false to disable this globally.

Default Value
  • true
Source code: core/Game.js, line 93

cache : Phaser.Cache

Reference to the assets cache.

Source code: core/Game.js, line 149

camera : Phaser.Camera

A handy reference to world.camera.

Source code: core/Game.js, line 219

canvas :HTMLCanvasElement

A handy reference to renderer.view, the canvas that the game is being rendered in to.

Source code: core/Game.js, line 224

config : Object

The Phaser.Game configuration object.

Source code: core/Game.js, line 36

context :CanvasRenderingContext2D

A handy reference to renderer.context (only set for CANVAS games, not WebGL)

Source code: core/Game.js, line 229

<internal> currentUpdateID : integer

The ID of the current/last logic update applied this render frame, starting from 0.

The first update is currentUpdateID === 0 and the last update is currentUpdateID === updatesThisFrame.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 310

debug : Phaser.Utils.Debug

A set of useful debug utilitie.

Source code: core/Game.js, line 234

device : Phaser.Device

Contains device information and capabilities.

Source code: core/Game.js, line 214

forceSingleUpdate : boolean

Should the game loop force a logic update, regardless of the delta timer? Set to true if you know you need this. You can toggle it on the fly.

Source code: core/Game.js, line 349

fpsProblemNotifier : Phaser.Signal

If the game is struggling to maintain the desired FPS, this signal will be dispatched. The desired/chosen FPS should probably be closer to the Phaser.Time#suggestedFps value.

Source code: core/Game.js, line 344

[readonly] height : integer

The current Game Height in pixels.

Do not modify this property directly: use Phaser.ScaleManager#setGameSize - eg. game.scale.setGameSize(width, height) - instead.

Default Value
  • 600
Source code: core/Game.js, line 69

[readonly] id : number

Phaser Game ID (for when Pixi supports multiple instances).

Source code: core/Game.js, line 31

input : Phaser.Input

Reference to the input manager

Source code: core/Game.js, line 154

[readonly] isBooted : boolean

Whether the game engine is booted, aka available.

Source code: core/Game.js, line 122

[readonly] isRunning : boolean

Is game running or paused?

Source code: core/Game.js, line 128

load : Phaser.Loader

Reference to the assets loader.

Source code: core/Game.js, line 159

lockRender : boolean

If false Phaser will automatically render the display list every update. If true the render loop will be skipped. You can toggle this value at run-time to gain exact control over when Phaser renders. This can be useful in certain types of game or application. Please note that if you don't render the display list then none of the game object transforms will be updated, so use this value carefully.

Default Value
  • false
Source code: core/Game.js, line 248

make : Phaser.GameObjectCreator

Reference to the GameObject Creator.

Source code: core/Game.js, line 144

math : Phaser.Math

Reference to the math helper.

Source code: core/Game.js, line 164

net : Phaser.Net

Reference to the network class.

Source code: core/Game.js, line 169

onBlur : Phaser.Signal

This event is fired when the game no longer has focus (typically on page hide).

Source code: core/Game.js, line 284

onFocus : Phaser.Signal

This event is fired when the game has focus (typically on page show).

Source code: core/Game.js, line 289

onPause : Phaser.Signal

This event is fired when the game pauses.

Source code: core/Game.js, line 274

onResume : Phaser.Signal

This event is fired when the game resumes from a paused state.

Source code: core/Game.js, line 279

parent : string | HTMLElement

The Games DOM parent.

Type
  • string | HTMLElement
Source code: core/Game.js, line 47

particles : Phaser.Particles

The Particle Manager.

Source code: core/Game.js, line 239

paused : boolean

The paused state of the Game. A paused game doesn't update any of its subsystems. When a game is paused the onPause event is dispatched. When it is resumed the onResume event is dispatched. Gets and sets the paused state of the Game.

Source code: core/Game.js, line 1037

[readonly] pendingStep : boolean

An internal property used by enableStep, but also useful to query from your own game objects.

Default Value
  • false
Source code: core/Game.js, line 262

physics : Phaser.Physics

Reference to the physics manager.

Source code: core/Game.js, line 204

physicsConfig : Object

The Phaser.Physics.World configuration object.

Source code: core/Game.js, line 41

preserveDrawingBuffer : boolean

The value of the preserveDrawingBuffer flag affects whether or not the contents of the stencil buffer is retained after rendering.

Default Value
  • false
Source code: core/Game.js, line 99

<internal> raf : Phaser.RequestAnimationFrame

Automatically handles the core game loop via requestAnimationFrame or setTimeout

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 134

<internal> renderer : PIXI.CanvasRenderer | PIXI.WebGLRenderer

The Pixi Renderer.

Type
Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 105

[readonly] renderType : number

The Renderer this game will use. Either Phaser.AUTO, Phaser.CANVAS or Phaser.WEBGL.

Source code: core/Game.js, line 111

rnd : Phaser.RandomDataGenerator

Instance of repeatable random data generator helper.

Source code: core/Game.js, line 209

scale : Phaser.ScaleManager

The game scale manager.

Source code: core/Game.js, line 174

sound : Phaser.SoundManager

Reference to the sound manager.

Source code: core/Game.js, line 179

stage : Phaser.Stage

Reference to the stage.

Source code: core/Game.js, line 184

state : Phaser.StateManager

The StateManager.

Source code: core/Game.js, line 116

[readonly] stepCount : number

When stepping is enabled this contains the current step cycle.

Default Value
  • 0
Source code: core/Game.js, line 269

[readonly] stepping : boolean

Enable core loop stepping with Game.enableStep().

Default Value
  • false
Source code: core/Game.js, line 255

time : Phaser.Time

Reference to the core game clock.

Source code: core/Game.js, line 189

transparent : boolean

Use a transparent canvas background or not.

Default Value
  • false
Source code: core/Game.js, line 87

tweens : Phaser.TweenManager

Reference to the tween manager.

Source code: core/Game.js, line 194

<internal> updatesThisFrame : integer

Number of logic updates expected to occur this render frame; will be 1 unless there are catch-ups required (and allowed).

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 318

[readonly] width : integer

The current Game Width in pixels.

Do not modify this property directly: use Phaser.ScaleManager#setGameSize - eg. game.scale.setGameSize(width, height) - instead.

Default Value
  • 800
Source code: core/Game.js, line 58

world : Phaser.World

Reference to the world.

Source code: core/Game.js, line 199

Public Methods

<internal> boot()

Initialize engine sub modules and start the game.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 484

destroy()

Nukes the entire game from orbit.

Source code: core/Game.js, line 899

disableStep()

Disables core game loop stepping.

Source code: core/Game.js, line 874

enableStep()

Enable core game loop stepping. When enabled you must call game.step() directly (perhaps via a DOM button?) Calling step will advance the game loop by one frame. This is extremely useful for hard to track down errors!

Source code: core/Game.js, line 860

<internal> focusGain(event)

Called by the Stage visibility handler.

Parameters
Name Type Description
event object

The DOM event that caused the game to pause, if any.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 1015

<internal> focusLoss(event)

Called by the Stage visibility handler.

Parameters
Name Type Description
event object

The DOM event that caused the game to pause, if any.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 997

<internal> gamePaused(event)

Called by the Stage visibility handler.

Parameters
Name Type Description
event object

The DOM event that caused the game to pause, if any.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 956

<internal> gameResumed(event)

Called by the Stage visibility handler.

Parameters
Name Type Description
event object

The DOM event that caused the game to pause, if any.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 976

<internal> parseConfig()

Parses a Game configuration object.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 409

<internal> setUpRenderer()

Checks if the device is capable of using the requested renderer and sets it up or an alternative if not.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 622

<internal> showDebugHeader()

Displays a Phaser version debug header in the console.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 560

step()

When stepping is enabled you must call this function directly (perhaps via a DOM button?) to advance the game loop by one frame. This is extremely useful to hard to track down errors! Use the internal stepCount property to monitor progress.

Source code: core/Game.js, line 886

<internal> update(time)

The core game loop.

Parameters
Name Type Description
time number

The current time as provided by RequestAnimationFrame.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 697

<internal> updateLogic(timeStep)

Updates all logic subsystems in Phaser. Called automatically by Game.update.

Parameters
Name Type Description
timeStep number

The current timeStep value as determined by Game.update.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 783

<internal> updateRender(elapsedTime)

Runs the Render cycle. It starts by calling State.preRender. In here you can do any last minute adjustments of display objects as required. It then calls the renderer, which renders the entire display list, starting from the Stage object and working down. It then calls plugin.render on any loaded plugins, in the order in which they were enabled. After this State.render is called. Any rendering that happens here will take place on-top of the display list. Finally plugin.postRender is called on any loaded plugins, in the order in which they were enabled. This method is called automatically by Game.update, you don't need to call it directly. Should you wish to have fine-grained control over when Phaser renders then use the Game.lockRender boolean. Phaser will only render when this boolean is false.

Parameters
Name Type Description
elapsedTime number

The time elapsed since the last update.

Internal:
  • This member is internal (protected) and may be modified or removed in the future.
Source code: core/Game.js, line 829