コード例 #1
0
  /** Mueve la {@link CamaraJuego} conforme a la posición del {@link Heroe} */
  private void moverCamara() {
    try {
      Heroe heroe = getHeroe();
      float factor = 1.7f;
      float destinoCamara;

      if (heroe.derecha()) {
        destinoCamara = heroe.getX() + heroe.getWidth() / 2 + camara.viewportWidth / 6;
        if (camara.position.x < destinoCamara) {
          camara.setPosicion(
              (float) (camara.position.x + heroe.velDelta() * factor), camara.position.y);
        }
        if (camara.position.x >= destinoCamara) {
          camara.setPosicion(destinoCamara, camara.position.y);
        }
      } else {
        destinoCamara = heroe.getX() + heroe.getWidth() / 2 - camara.viewportWidth / 6;
        if (camara.position.x > destinoCamara) {
          camara.setPosicion(
              (float) (camara.position.x - heroe.velDelta() * factor), camara.position.y);
        }
        if (camara.position.x <= destinoCamara) {
          camara.setPosicion(destinoCamara, camara.position.y);
        }
      }

      if (camara.getPosicionOrigen().x < 0)
        camara.setPosicionOrigen(0, camara.getPosicionOrigen().y);
      if (camara.getPosicionOrigen().x + camara.viewportWidth > mh.getWidth())
        camara.setPosicionOrigen(
            mh.getWidth() - camara.viewportWidth, camara.getPosicionOrigen().y);
    } catch (EscenarioSinHeroeException e) {
    }
  }
コード例 #2
0
ファイル: HeroeAction.java プロジェクト: sevaor/lumpundform
  @Override
  public boolean act(float delta) {
    Heroe h = (Heroe) getActor();

    if (h != null) {
      h.setCooldownDano(h.getCooldownDano() - delta);

      h.actualizarTransparente(delta);

      if (h.getMovimiento() == 1) {
        h.moverHeroe(delta, "derecha");
      } else if (h.getMovimiento() == -1) {
        h.moverHeroe(delta, "izquierda");
      }
    }

    return false;
  }