Phaser: Mouse input
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:
pointerdown
pointerdownoutside
pointerup
pointerupoutside
pointermove
pointerover
pointerout
wheel
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', () => {})
I wrote 21 books to help you become a better developer:
- HTML Handbook
- Next.js Pages Router Handbook
- Alpine.js Handbook
- HTMX Handbook
- TypeScript Handbook
- React Handbook
- SQL Handbook
- Git Cheat Sheet
- Laravel Handbook
- Express Handbook
- Swift Handbook
- Go Handbook
- PHP Handbook
- Python Handbook
- Linux Commands Handbook
- C Handbook
- JavaScript Handbook
- Svelte Handbook
- CSS Handbook
- Node.js Handbook
- Vue Handbook