phaser - v4.0.0-rc.4
    Preparing search index...

    The Input Manager is responsible for handling the pointer related systems in a single Phaser Game instance.

    Based on the Game Config it will create handlers for mouse and touch support.

    Keyboard and Gamepad are plugins, handled directly by the InputPlugin class.

    It then manages the events, pointer creation and general hit test related operations.

    You rarely need to interact with the Input Manager directly, and as such, all of its properties and methods should be considered private. Instead, you should use the Input Plugin, which is a Scene level system, responsible for dealing with all input events for a Scene.

    Index

    Constructors

    Properties

    activePointer: Pointer

    The most recently active Pointer object.

    If you've only 1 Pointer in your game then this will accurately be either the first finger touched, or the mouse.

    If your game doesn't need to support multi-touch then you can safely use this property in all of your game code and it will adapt to be either the mouse or the touch, based on device.

    canvas: HTMLCanvasElement

    The Canvas that is used for all DOM event input listeners.

    config: Config

    The Game Configuration object, as set during the game boot.

    defaultCursor: string

    The default CSS cursor to be used when interacting with your game.

    See the setDefaultCursor method for more details.

    enabled: boolean

    If set, the Input Manager will run its update loop every frame.

    events: EventEmitter

    The Event Emitter instance that the Input Manager uses to emit events from.

    game: Game

    The Game instance that owns the Input Manager. A Game only maintains one instance of the Input Manager at any time.

    globalTopOnly: boolean

    If the top-most Scene in the Scene List receives an input it will stop input from propagating any lower down the scene list, i.e. if you have a UI Scene at the top and click something on it, that click will not then be passed down to any other Scene below. Disable this to have input events passed through all Scenes, all the time.

    isOver: boolean

    Are any mouse or touch pointers currently over the game canvas? This is updated automatically by the canvas over and out handlers.

    keyboard: KeyboardManager

    A reference to the Keyboard Manager class, if enabled via the input.keyboard Game Config property.

    A reference to the Mouse Manager class, if enabled via the input.mouse Game Config property.

    mousePointer: Pointer

    The mouse has its own unique Pointer object, which you can reference directly if making a desktop specific game. If you are supporting both desktop and touch devices then do not use this property, instead use activePointer which will always map to the most recently interacted pointer.

    pointers: Pointer[]

    An array of Pointers that have been added to the game. The first entry is reserved for the Mouse Pointer, the rest are Touch Pointers.

    By default there is 1 touch pointer enabled. If you need more use the addPointer method to start them, or set the input.activePointers property in the Game Config.

    pointersTotal: number

    The number of touch objects activated and being processed each update.

    You can change this by either calling addPointer at run-time, or by setting the input.activePointers property in the Game Config.

    scaleManager: ScaleManager

    A reference to the global Game Scale Manager. Used for all bounds checks and pointer scaling.

    time: number

    The time this Input Manager was last updated. This value is populated by the Game Step each frame.

    A reference to the Touch Manager class, if enabled via the input.touch Game Config property.

    Methods

    • Adds new Pointer objects to the Input Manager.

      By default Phaser creates 2 pointer objects: mousePointer and pointer1.

      You can create more either by calling this method, or by setting the input.activePointers property in the Game Config, up to a maximum of 10 pointers.

      The first 10 pointers are available via the InputPlugin.pointerX properties, once they have been added via this method.

      Parameters

      • Optionalquantity: number

        The number of new Pointers to create. A maximum of 10 is allowed in total. Default 1.

      Returns Pointer[]

    • The Boot handler is called by Phaser.Game when it first starts up. The renderer is available by now.

      Returns void

    • Destroys the Input Manager and all of its systems.

      There is no way to recover from doing this.

      Returns void

    • Performs a hit test using the given Pointer and camera, against an array of interactive Game Objects.

      The Game Objects are culled against the camera, and then the coordinates are translated into the local camera space and used to determine if they fall within the remaining Game Objects hit areas or not.

      If nothing is matched an empty array is returned.

      This method is called automatically by InputPlugin.hitTestPointer and doesn't usually need to be invoked directly.

      Parameters

      • pointer: Pointer

        The Pointer to test against.

      • gameObjects: any[]

        An array of interactive Game Objects to check.

      • camera: Cameras.Scene2D.Camera

        The Camera which is being tested against.

      • Optionaloutput: any[]

        An array to store the results in. If not given, a new empty array is created.

      Returns any[]

    • Checks if the given x and y coordinate are within the hit area of the Game Object.

      This method assumes that the coordinate values have already been translated into the space of the Game Object.

      If the coordinates are within the hit area they are set into the Game Objects Input localX and localY properties.

      Parameters

      • gameObject: GameObject

        The interactive Game Object to check against.

      • x: number

        The translated x coordinate for the hit test.

      • y: number

        The translated y coordinate for the hit test.

      Returns boolean

    • Checks if the given x and y coordinate are within the hit area of the Interactive Object.

      This method assumes that the coordinate values have already been translated into the space of the Interactive Object.

      If the coordinates are within the hit area they are set into the Interactive Objects Input localX and localY properties.

      Parameters

      • object: InteractiveObject

        The Interactive Object to check against.

      • x: number

        The translated x coordinate for the hit test.

      • y: number

        The translated y coordinate for the hit test.

      Returns boolean

    • Transforms the pageX and pageY values of a Pointer into the scaled coordinate space of the Input Manager.

      Parameters

      • pointer: Pointer

        The Pointer to transform the values for.

      • pageX: number

        The Page X value.

      • pageY: number

        The Page Y value.

      • wasMove: boolean

        Are we transforming the Pointer from a move event, or an up / down event?

      Returns void

    • Internal method that gets a list of all the active Input Plugins in the game and updates each of them in turn, in reverse order (top to bottom), to allow for DOM top-level event handling simulation.

      Parameters

      • type: number

        The type of event to process.

      • pointers: Pointer[]

        An array of Pointers on which the event occurred.

      Returns void