Skip to content

Phaser: Adding images

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.


→ Here's my latest YouTube video

→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list