Skip to content

Phaser: Mouse input

New Course Coming Soon:

Get Really Good at Git

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

Any GameObject can be made interactive.

To do so, we must call the setInteractive() method on it:

text = this.add.text(100, 100, 'test')
text.setInteractive()

Once a GameObject is interactive, it can listen for events.

This is done using the on() method. We pass an event name, and a callback function that’s executed when the event occurs:

text.on('pointerup', function () {})

pointerup is just one of the mouse events we can listen for. We also have:

This is just the beginning. We have many advanced mouse (and touch events) controls at our disposal.

gameobjectdown is a more general event that is fired when any interactive element is clicked, and it’s not fired on an object, but on this.input:

this.input.on('gameobjectdown', () => {})
Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching Summer 2024. Join the waiting list!

Here is how can I help you: