Class CvsJoystick

This class simulates a multi-mode joystick. Each of the three possible modes apply different constraints to the range of movement allowed they are -.

'X0' : can move in any direction (360°). This is the default value.
'X4' : constrained to the 4 main compass directions (N, E, S, W).
'X8' : constrained to the 8 main compass directions (N, NE, E, SE, S, SW, W, NW).

To handle events use the setAction method to specify the action-method that will be used to process action-info objects created when the joystick is moved.

The action-info object has several very useful fields that describes the state of the joystick, they include -

  • dir
  • An integer that indicates the direction the stick is pushed. The values returned depend on the current mode -

    Direction values for X4 and X8 modes
         5   6   7
          \  |  /
           \ | /
       4 --- Z --- 0       Z is the dead zone.
           / | \
          /  |  \          If control is in mode 'X0' or the joystick
         3   2   1         position is in the dead zone then the value is -1
    

    'X0' : always -1
    'X4' : 0, 2, 4 or 6
    'X8' : 0, 1, 2, 3, 4, 5, 6 or 7

  • dead
  • If the stick is in the dead zone which surrounds the stick's rest state then this value will be true.

  • mag
  • The magnitude is in range ≥ 0 and ≤ 1 representing the distance the stick has been pushed.

  • angle

    The angle is in range ≥ 0 and < 2π representing the angle the stick makes to the poistive x axis in the clockwise direction. In modes X4 and X8 the angles will be constrained to the permitted directions.

  • final
  • This is false if the stick is still being moved and true if the stick has been released.

When the joystick is released it will return back to its rest state i.e. centered.

Hierarchy

  • CvsBufferedControl
    • CvsJoystick

Accessors

  • get id(): string
  • The unique identifier for this control.

    Returns string

  • get isEnabled(): boolean
  • This is true if the control can respond to UI events else false.

    Use enable() and disable() to enable and disable it.

    Returns boolean

  • get isOpaque(): boolean
  • This is true if the control background is opaque else false.

    Use opaque() and transparent() display / hide the background.

    Returns boolean

  • get isVisible(): boolean
  • This is true if the control is visible else false.

    Use hide() and show() to set visibility.

    Returns boolean

  • get type(): string
  • The type name for this control.
    (type name = class name without the Cvs prefix)

    Returns string

Methods

  • Add a child to this control using its relative position [rx, ry]. If rx and ry are not provided then it uses the values set in the child.

    Returns

    this control

    Parameters

    • c: string | CvsBaseControl

      is the actual control or its id

    • Optional rx: number
    • Optional ry: number

    Returns any

  • Get or set the corner radii used for this control.

    To set the radii the parameters must be one of the following

    • an array of 4 numbers.
    • a comma seperated list of 4 numbers.
    • a single number to be used for all 4 radii.

    If no parameter is passed or does not match one of the above then an array of the currently used radii values.

    Returns

    an array of the currently used radii values

    Parameters

    • Rest ...c: any

      valid radii combination

    Returns number[] | CvsBaseControl

  • Disables this control.

    Returns

    this control

    Parameters

    • Optional cascade: boolean

      if true disable child controls

    Returns CvsBaseControl

  • Enables this control.

    Returns

    this control

    Parameters

    • Optional cascade: boolean

      if true enable child controls

    Returns CvsBaseControl

  • Make this control invisible.

    Returns

    this control

    Parameters

    • Optional cascade: boolean

      if true hide children

    Returns CvsBaseControl

  • Remove this control from its parent

    Returns

    this control

    Returns CvsBaseControl

  • The mode defines the constraints applied to movement of the joystick. There are three permitted modes -

    • 'X0' : can move in any direction (360°). This is the default value.
    • 'X4' : constrained to the 4 main compass directions (N, E, S, W).
    • 'X8' : constrained to the 8 main compass directions (N, NE, E, SE, S, SW, W, NW).

    Any other value will be silently ignored.

    Returns

    this control

    Parameters

    • m: string

      either 'X0', 'X4' or 'X8'

    Returns string | CvsBaseControl

  • Move this control relative to current position.

    Returns

    this control

    Parameters

    • x: number

      horizontal distance

    • y: number

      vertical distance

    Returns CvsJoystick

  • Move this control to an absolute position.

    Returns

    this control

    Parameters

    • x: number

      horizontal position

    • y: number

      vertical position

    Returns CvsJoystick

  • Makes the controls background opaque. The actual color depends on the controls color scheme.

    The second parameter, alpha, is optional and controls the level of opaqueness from 0 - transparent to 255 - fully opaque (efault value).

    Returns

    this control

    Parameters

    • alpha: number = 255

      alpha value for controls background color.

    Returns CvsBaseControl

  • Sets this controls display orientation to one of the four cardinal compass points. An invalid parameter will set the orientation to 'east' which is the default value.

    Returns

    this control

    Parameters

    • dir: string = 'east'

      'north', 'south', 'east' or 'west'

    Returns CvsBaseControl

  • Adds this control to another control which becomes its parent.

    Returns

    this control

    Parameters

    • parent: string | CvsBaseControl

      is the parental control or its id

    • Optional rx: number

      x position relative to parent

    • Optional ry: number

      y position relative to parent

    Returns CvsBaseControl

  • Remove a child control from this one so that it stays in same screen position.

    Returns

    this control

    Parameters

    Returns CvsJoystick

  • If the name of a valid color scheme is provided then it will use it to display the control, non-existant scheme names will be ignored. In both cases this control is returned.

    If there is no parameter it returns the name of the current color scheme used by this control.

    Returns

    this control or the control's color scheme

    Parameters

    • Optional name: string

      the color scheme name e.g. 'blue'

    • Optional cascade: boolean

      if true propogate scheme to all child controls.

    Returns ColorScheme | CvsBaseControl

  • This sets the event handler to be used when this control fires an event. The parameter can take one of three forms:

    1. Arrow function definition
    2. Anonymous function definition
    3. Named function declaration

    Returns

    this control

    Parameters

    • event_handler: Function

      the function to handle this control's events.

    Returns CvsJoystick

  • Make this control visible.

    Returns

    this control

    Parameters

    • Optional cascade: boolean

      if true show children

    Returns CvsBaseControl

  • Shrink the control to fit contents.

    To shrink on one dimension only pass either 'w' (width) or 'h' (height) to indicate which dimmension to shrink

    Returns

    this control

    Parameters

    • Optional dim: string

      the dimension to shrink

    Returns CvsBaseControl

  • Set the thumb size.

    Returns

    this control

    Parameters

    • ts: number

      the diameter of the thumb

    Returns CvsJoystick

  • Sets the size of the text to use in the tooltip.

    Parameters

    • Optional tsize: number

      text size for this tooltip

    Returns CvsJoystick

  • Create a tooltip for this control.

    Returns

    this control

    Parameters

    • tiptext: string

      the text to appear in the tooltip

    Returns CvsJoystick

  • Makes the controls background fully transparent.

    Returns

    this control

    Returns CvsBaseControl

Generated using TypeDoc