Beispiel #1
0
  /**
   * Updates the <code>InputManager</code>. This will query current input devices and send
   * appropriate events to registered listeners.
   *
   * @param tpf Time per frame value.
   */
  public void update(float tpf) {
    frameTPF = tpf;

    // Activate safemode if the TPF value is so small
    // that rounding errors are inevitable
    safeMode = tpf < 0.015f;

    long currentTime = keys.getInputTimeNanos();
    frameDelta = currentTime - lastUpdateTime;

    eventsPermitted = true;

    keys.update();
    mouse.update();
    if (joystick != null) {
      joystick.update();
    }
    if (touch != null) {
      touch.update();
    }

    eventsPermitted = false;

    processQueue();
    invokeUpdateActions();

    lastLastUpdateTime = lastUpdateTime;
    lastUpdateTime = currentTime;
  }
Beispiel #2
0
  /**
   * Initializes the InputManager.
   *
   * <p>This should only be called internally in {@link Application}.
   *
   * @param mouse
   * @param keys
   * @param joystick
   * @param touch
   * @throws IllegalArgumentException If either mouseInput or keyInput are null.
   */
  public InputManager(MouseInput mouse, KeyInput keys, JoyInput joystick, TouchInput touch) {
    if (keys == null || mouse == null) {
      throw new NullPointerException("Mouse or keyboard cannot be null");
    }

    this.keys = keys;
    this.mouse = mouse;
    this.joystick = joystick;
    this.touch = touch;

    keys.setInputListener(this);
    mouse.setInputListener(this);
    if (joystick != null) {
      joystick.setInputListener(this);
      joysticks = joystick.loadJoysticks(this);
    }
    if (touch != null) {
      touch.setInputListener(this);
    }

    firstTime = keys.getInputTimeNanos();
  }
Beispiel #3
0
 @Override
 public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException {
   world.update(keyInput);
   keyInput.spaceKeyUpdate();
 }
Beispiel #4
0
 @Override
 public void keyReleased(int key, char c) {
   super.keyReleased(key, c);
   keyInput.keyReleased(key, c);
 }
 /**
  * Update the core input system - mouse, keyboard and joystick. Thus all events are handled within
  * this method call.<br>
  * To disable joystick support call {@link JoystickInput#setProvider(String)} with {@link
  * #INPUT_SYSTEM_DUMMY} as parameter proir to creating the display.
  *
  * @see KeyInput#update()
  * @see MouseInput#update()
  * @see JoystickInput#update()
  */
 public static void update() {
   MouseInput.get().update();
   KeyInput.get().update();
   JoystickInput.get().update();
 }