Example #1
0
  @Override
  public void preProcessarJogo() {
    /** Limites */
    for (Obstaculo obstaculo : obstaculos) {
      GestorIntercepcoes.atualizaColisao(personagem, obstaculo);
      if (personagem.getColisao().base && personagem.mg.getVy() >= 0) {
        personagem.mg.setY(obstaculo.getY() - personagem.getAltura());
        personagem.mg.setVy(0);
        personagem.setEmSalto(false);
      }
      if (personagem.getColisao().topo) {
        personagem.mg.setY(obstaculo.getY() + obstaculo.getAltura());
        personagem.mg.setVy(1);
      }
      if (personagem.getColisao().esquerda) {
        personagem.mg.setX(obstaculo.getX() + obstaculo.getLargura());
      }
      if (personagem.getColisao().direita) {
        personagem.mg.setX(obstaculo.getX() - personagem.getLargura());
      }
      personagem.getColisao().reeniciar();

      for (BolaQJ bola : bolas) {
        GestorIntercepcoes.atualizaColisao(bola, obstaculo);
        if (bola.getColisao().topo) {
          bola.setVy(-bola.getVy());
          bola.setY(obstaculo.getY() + obstaculo.getAltura());
          bola.getColisao().reeniciar();
        }
        if (bola.getColisao().base) {
          bola.setVy(-bola.getVy());
          bola.setY(obstaculo.getY() - bola.getDiametro());
          bola.getColisao().reeniciar();
        }
      }
    }

    criaLimitesDeColisao(personagem);

    for (BolaQJ bola : bolas) {
      criaLimitesDeColisao(bola);
      if (bola.getColisao().base) {
        bola.decvyAC();
      }
    }

    for (Obstaculo obstaculo : obstaculos) {
      for (Estrela estrela : estrelas) {
        GestorIntercepcoes.atualizaColisao(estrela, obstaculo);
      }
      if (arpao.activo()) {
        GestorIntercepcoes.atualizaColisao(arpao, obstaculo);

        // ignorar colisao na base do arpao em contacto com um obctaculo
        arpao.getColisao().base = false;
        if (arpao.getColisao().tem()) {
          arpao.iniciar();
          arpao.getColisao().reeniciar();
        }
      }
    }

    for (Estrela estrela : estrelas) {
      criaLimitesDeColisao(estrela);
    }
  }
Example #2
0
 public Colisao criaLimitesDeColisao(Obstaculo o) {
   return criaLimitesDeColisao(o.getX(), o.getY(), o.getLargura(), o.getAltura(), o.getColisao());
 }