Phaser.js: Phaser: Adding images

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


This post is part of a Phaser series. Click here to see the first post of the series.

You can add images as GameObjects, but you need to be aware that to display images when the game starts, in create(), they need to be preloaded in preload(). We assign them an identifier, and then we can add an image with that asset in the create() function:

function preload() {
  this.load.image('apple', 'apple.png')
}

function create() {
  this.add.image(200, 200, 'apple')
}

Note that 200, 200 is the position we’re going to put the image.

It refers to the center of the image.

To make it refer to the top left position, which is easier to reason about, you can call the setOrigin() method on the image:

const image = this.add.image(200, 200, 'apple')
image.setOrigin(0, 0)

Once an image has been created and added, we can perform several operations on it, including scaling it:

image.setScale(2)

flipping it:

image.flipY = true
image.flipX = true

and more.

Lessons in this unit:

0: Introduction
1: Setting up a project to build a JavaScript game with Phaser
2: Phaser: The Canvas
3: Phaser: Scenes
4: Phaser: Multiple scenes
5: Phaser: The game loop
6: ▶︎ Phaser: Adding images
7: Phaser: Sprites
8: Phaser: GameObjects
9: Phaser: Animations
10: Phaser: Keyboard events
11: Phaser: Mouse input
12: Phaser: Physics
13: Phaser: collisions and screen boundaries
14: Phaser: Playing sounds
15: How to create a platformer game with Phaser.js