melonJS
    Preparing search index...

    Interface VirtualStick

    A stick: a base and a thumb that follows the finger, reporting how far it leans on two axes, from -1 to 1 (down and right are positive, as on a real pad).

    interface VirtualStick {
        area: ControlArea;
        center: { x: number; y: number };
        floating: boolean;
        hideAtRest: boolean;
        pointerId: number | null;
        radius: number;
        side: "left" | "right";
        tapping: boolean;
        value: { x: number; y: number };
        get reach(): number;
        destroy(): void;
        draw(renderer: Renderer, look: Look): void;
        endTap(): void;
        grab(pointerId: number, x: number, y: number): void;
        hits(x: number, y: number, width: number, height: number): boolean;
        layout(width: number, height: number, margin: number): void;
        move(x: number, y: number): void;
        release(cancel?: boolean): boolean;
    }
    Index

    where a floating stick can be picked up

    center: { x: number; y: number } = ...

    where its base is drawn, in viewport pixels

    floating: boolean

    whether it is centered where the thumb lands

    hideAtRest: boolean

    whether a floating stick is drawn only while held

    pointerId: number | null = null

    the pointer holding it, or null

    radius: number = 0

    the radius of its base, in viewport pixels

    side: "left" | "right"

    which stick of the pad it is

    tapping: boolean = false

    whether a tap is pressing its button or key, until the frame has run

    value: { x: number; y: number } = ...

    how far it leans, from -1 to 1 on each axis, after the deadzone

    • Parameters

      • pointerId: number

        the pointer

      • x: number

        in viewport pixels

      • y: number

        in viewport pixels

      Returns void

    • whether a finger landing here takes the stick

      Parameters

      • x: number

        in viewport pixels

      • y: number

        in viewport pixels

      • width: number

        the viewport width, in pixels

      • height: number

        the viewport height, in pixels

      Returns boolean

    • place it in a viewport of this size

      Parameters

      • width: number

        the viewport width, in pixels

      • height: number

        the viewport height, in pixels

      • margin: number

        the space kept from the edges

      Returns void

    • back to rest

      Parameters

      • cancel: boolean = false

        the touch was taken away rather than lifted, so it is not a tap

      Returns boolean

      whether the touch was a tap, which then presses its button