1.0.4 • Published 3 years ago

phaser-react-tools v1.0.4

Weekly downloads
12
License
MIT
Repository
github
Last release
3 years ago

phaser-react-tools

npm Maintenance GitHub commit activity GitHub last commit NPM GitHub issues GitHub pull requests GitHub language count GitHub top language npm

By default, Phaser and React don't always get along. phaser-react-tools is here to help.

You can use phaser-react-tools to:

  • Embed your Phaser game in a React application
  • Build your game's UI with React
  • Send events & data between Phaser and React

Quickstart

To install, run:

npm i phaser-react-tools

Config

The GameComponent is a HOC that can be configured just like a normal Phaser game.

import { GameComponent } from 'phaser-react-tools'

export default function App() {
  return (
    <GameComponent
      config={{
        backgroundColor: '000000',
        height: 300,
        width: 400,
        scene: {
          preload: function () {
            console.log('preload')
          },
          create: function () {
            console.log('create')
          }
        }
      }}
    >
      {/* YOUR GAME UI GOES HERE */}
    </GameComponent>
  )
}

Events

The useEventEmitter hook can help you send messages from a React component to your Phaser game.

import { useEventEmitter } from 'phaser-react-tools'

export default () => {
  const emit = useEventEmitter('BUTTON_CLICK_EVENT')

  return <button onClick={() => emit('Click!')}>Emit</button>
}

The useEventListener hook can help you handle game events in your React components.

import { useEventListener } from 'phaser-react-tools'

export default () => {
  useEventListener('BUTTON_CLICK_EVENT', (event) => {
    console.log(event)
  })
}

Next steps

Check out the /example directory or visit the docs.

If you find a bug or have ideas for improvements, please create an issue and/or submit a pull request.

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago