Search in sources :

Example 11 with Enemigo

use of mx.itesm.another_monkey_paradox.Objetos.Enemigo in project AnotherMonekyParadox by SantiagoMille.

the class PantallaJuegoSurvival method verificarColisionPersonajeEnemigoRuso.

protected boolean verificarColisionPersonajeEnemigoRuso(float dt) {
    Enemigo x;
    Rectangle rectEnemigo;
    Rectangle rectPersonaje;
    boolean hit = false;
    for (int i = listaEnemigosRusos.size - 1; i >= 0; i--) {
        x = listaEnemigosRusos.get(i);
        rectEnemigo = new Rectangle(x.getX(), x.getY(), x.getWidth(), x.getHeight());
        if (!personaje.isRight()) {
            rectPersonaje = new Rectangle(personaje.getX() + 25, personaje.getY(), personaje.getWidth(), personaje.getHeight());
        } else {
            rectPersonaje = new Rectangle(personaje.getX() - 25, personaje.getY(), personaje.getWidth(), personaje.getHeight());
        }
        if (rectEnemigo.overlaps(rectPersonaje)) {
            if (x.getAnimacion().getKeyFrameIndex(dt) == 0) {
                for (int j = vidas.size() - 1; j >= 0; j--) {
                    if (contador >= 1) {
                        if (vidas.get(j).isActiva()) {
                            if (music) {
                                hitSound.play();
                            }
                            vidas.get(j).setActiva(false);
                            hit = true;
                            contador = 0;
                        }
                    }
                }
            }
        }
    }
    contador++;
    return hit;
}
Also used : Enemigo(mx.itesm.another_monkey_paradox.Objetos.Enemigo) Rectangle(com.badlogic.gdx.math.Rectangle)

Example 12 with Enemigo

use of mx.itesm.another_monkey_paradox.Objetos.Enemigo in project AnotherMonekyParadox by SantiagoMille.

the class PantallaJuegoSurvival method render.

@Override
public void render(float delta) {
    stateTime += delta;
    if (estado != PantallaJuego.EstadoJuego.PAUSADO) {
        actualizarObjetos(delta, stateTime);
    }
    if (!arma.isPressed()) {
        Bar.setValue(Bar.getValue() + 0.02f);
    }
    if (!powerUpVidaFlag && isMovingRight) {
        powerUpVida.setX(powerUpVida.getX() - (delta * 80));
    }
    if (!powerUpGranadaFlag && isMovingRight) {
        powerUpGranada.setX(powerUpGranada.getX() - (delta * 80));
    }
    // Usar v=d/t o en este caso d=v*t
    Gdx.gl.glClearColor(.3f, .6f, .3f, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.setProjectionMatrix(camara.combined);
    batch.begin();
    fondo1.render(batch);
    fondo2.render(batch);
    fondo3.render(batch);
    fondo4.render(batch);
    if (fondo1.getImagenA().getX() < -780 && fondo1.getImagenA().getX() > -882 && firstFilter) {
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, true, i);
            listaEnemigosRusos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 17); i++) {
            enemigo = new Enemigo(canervicola02Frame0, canervicola02Frame1, canervicola02Frame2, canervicola02Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -890 && fondo1.getImagenA().getX() > -1200 && firstFilter) {
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(10, 17); i++) {
            enemigo = new Enemigo(alienFrame0, alienFrame1, alienFrame2, alienFrame3, true, i);
            listaEnemigosAlien.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, false, i);
            listaEnemigosRusos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -900 && fondo1.getImagenA().getX() > -1450 && firstFilter) {
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(alienFrame0, alienFrame1, alienFrame2, alienFrame3, false, i);
            listaEnemigosAlien.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -1480 && fondo1.getImagenA().getX() > -1582 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(canervicola03Frame0, canervicola03Frame1, canervicola03Frame2, canervicola03Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, false, i);
            listaEnemigosRusos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -1600 && fondo1.getImagenA().getX() > -2110 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(alienFrame0, alienFrame1, alienFrame2, alienFrame3, false, i);
            listaEnemigosAlien.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -2180 && fondo1.getImagenA().getX() > -2282 && firstFilter) {
        secondFilter = true;
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(canervicola02Frame0, canervicola02Frame1, canervicola02Frame2, canervicola02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -2300 && fondo1.getImagenA().getX() > -2850 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, true, i);
            listaEnemigosRusos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -2880 && fondo1.getImagenA().getX() > -2982 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, true, i);
            listaEnemigosRusos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -3000 && fondo1.getImagenA().getX() > -3500 & secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(alienFrame0, alienFrame1, alienFrame2, alienFrame3, false, i);
            listaEnemigosAlien.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -3580 && fondo1.getImagenA().getX() > -3600 && firstFilter) {
        secondFilter = true;
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(9, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, true, i);
            listaEnemigosRusos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(9, 15); i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -780 && fondo3.getImagenA().getX() > -882 && firstFilter) {
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, true, i);
            listaEnemigosRusos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(canervicola02Frame0, canervicola02Frame1, canervicola02Frame2, canervicola02Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -890 && fondo3.getImagenA().getX() > -1200 && firstFilter) {
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(alienFrame0, alienFrame1, alienFrame2, alienFrame3, true, i);
            listaEnemigosAlien.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, false, i);
            listaEnemigosRusos.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -900 && fondo3.getImagenA().getX() > -1450 && firstFilter) {
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(alienFrame0, alienFrame1, alienFrame2, alienFrame3, false, i);
            listaEnemigosAlien.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -1480 && fondo3.getImagenA().getX() > -1582 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(canervicola03Frame0, canervicola03Frame1, canervicola03Frame2, canervicola03Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, false, i);
            listaEnemigosRusos.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -1600 && fondo3.getImagenA().getX() > -2110 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(alienFrame0, alienFrame1, alienFrame2, alienFrame3, false, i);
            listaEnemigosAlien.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -2180 && fondo3.getImagenA().getX() > -2282 && firstFilter) {
        secondFilter = true;
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(canervicola02Frame0, canervicola02Frame1, canervicola02Frame2, canervicola02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -2300 && fondo3.getImagenA().getX() > -2850 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, true, i);
            listaEnemigosRusos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -2880 && fondo3.getImagenA().getX() > -2982 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, true, i);
            listaEnemigosRusos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 15); i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -3000 && fondo3.getImagenA().getX() > -3500 & secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(caballero02Frame0, caballero02Frame1, caballero02Frame2, caballero02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(10, 13); i++) {
            enemigo = new Enemigo(alienFrame0, alienFrame1, alienFrame2, alienFrame3, false, i);
            listaEnemigosAlien.add(enemigo);
        }
    }
    if (fondo3.getImagenA().getX() < -3580 && fondo3.getImagenA().getX() > -3600 && firstFilter) {
        secondFilter = true;
        firstFilter = false;
        for (int i = 0; i < getRandomNumber(9, 15); i++) {
            enemigo = new Enemigo(ruso2Frame0, ruso2Frame1, ruso2Frame2, ruso2Frame3, true, i);
            listaEnemigosRusos.add(enemigo);
        }
        for (int i = 0; i < getRandomNumber(9, 15); i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -randomX && powerUpVidaFlag) {
        powerUpVida.setX(ANCHO * 0.75f);
        powerUpVidaFlag = false;
    }
    if (fondo2.getImagenA().getX() < -randomX2 && powerUpGranadaFlag) {
        powerUpGranada.setX(ANCHO * 0.75f);
        powerUpGranadaFlag = false;
    }
    for (PowerUp e : vidas) {
        if (e.isActiva()) {
            e.render(batch);
        }
    }
    TextureRegion currentFrame = (TextureRegion) personaje.getAnimacion().getKeyFrame(stateTime, true);
    if (personaje.isRight() && currentFrame.isFlipX()) {
        currentFrame.flip(true, false);
        isFliped = false;
    } else if (!personaje.isRight() && !currentFrame.isFlipX()) {
        currentFrame.flip(true, false);
        isFliped = true;
    } else {
    }
    // Granadas
    for (Granada Granada : listaGranadas) {
        Granada.render(batch);
    }
    // Balas
    for (Bala bala : listaBalas) {
        bala.render(batch);
    }
    personaje.render(batch, stateTime, isMovingRight, isMovingLeft);
    // Dibuja enemigos
    for (Enemigo e : listaEnemigos) {
        e.render(batch);
        if (estado == PantallaJuego.EstadoJuego.JUGANDO && e.right) {
            if (personaje.getX() < camara.position.x) {
                e.setX(e.getX() + (-60 * delta));
            } else {
                e.setX(e.getX() + (-80 * delta));
            }
        } else if (estado == PantallaJuego.EstadoJuego.JUGANDO && !e.right) {
            if (personaje.getX() < camara.position.x) {
                e.setX(e.getX() + (60 * delta));
            } else {
                e.setX(e.getX() + (15 * delta));
            }
        }
    }
    for (Enemigo e : listaEnemigosRusos) {
        e.render(batch);
        if (estado == PantallaJuego.EstadoJuego.JUGANDO && e.right) {
            if (personaje.getX() < camara.position.x) {
                e.setX(e.getX() + (-60 * delta));
            } else {
                e.setX(e.getX() + (-80 * delta));
            }
        } else if (estado == PantallaJuego.EstadoJuego.JUGANDO && !e.right) {
            if (personaje.getX() < camara.position.x) {
                e.setX(e.getX() + (60 * delta));
            } else {
                e.setX(e.getX() + (15 * delta));
            }
        }
    }
    for (Enemigo e : listaEnemigosAlien) {
        e.render(batch);
        if (estado == PantallaJuego.EstadoJuego.JUGANDO && e.right) {
            if (personaje.getX() < camara.position.x) {
                e.setX(e.getX() + (-60 * delta));
            } else {
                e.setX(e.getX() + (-80 * delta));
            }
        } else if (estado == PantallaJuego.EstadoJuego.JUGANDO && !e.right) {
            if (personaje.getX() < camara.position.x) {
                e.setX(e.getX() + (60 * delta));
            } else {
                e.setX(e.getX() + (15 * delta));
            }
        }
    }
    // Texto Score
    textoGly.setText(font, "Score: " + puntosJugador);
    font.draw(batch, textoGly, ANCHO / 2 + 370, ALTO - 15);
    granadasNum.draw(batch);
    textoGlyGran.setText(font, "" + maxGrandas);
    font.draw(batch, textoGlyGran, 899, 161);
    // Texto Pausa
    if (estado == PantallaJuego.EstadoJuego.PAUSADO) {
        font.draw(batch, pausaText, ANCHO / 4 - 175, ALTO * 13 / 20);
    }
    powerUpGranada.render(batch);
    powerUpVida.render(batch);
    barraBala.draw(batch);
    banana1.render(batch);
    banana2.render(batch);
    banana3.render(batch);
    banana4.render(batch);
    banana5.render(batch);
    banana6.render(batch);
    batch.end();
    stageNivel.act();
    stageNivel.draw();
    batch.begin();
    bananaBarra.draw(batch);
    batch.end();
    // Botón PAUSA
    if (estado == PantallaJuego.EstadoJuego.PAUSADO) {
        // Solo si está pausado muestra la imagen
        escenaPausa.draw();
    }
    Gdx.app.log("render", "fps=" + Gdx.graphics.getFramesPerSecond());
    if (Gdx.input.isKeyPressed(Input.Keys.BACK)) {
        main.setScreen(new PantallaMenu(main));
    }
}
Also used : PantallaMenu(mx.itesm.another_monkey_paradox.Pantallas.PantallaMenu) TextureRegion(com.badlogic.gdx.graphics.g2d.TextureRegion) Enemigo(mx.itesm.another_monkey_paradox.Objetos.Enemigo) PowerUp(mx.itesm.another_monkey_paradox.Objetos.PowerUp) Granada(mx.itesm.another_monkey_paradox.Objetos.Granada) Bala(mx.itesm.another_monkey_paradox.Objetos.Bala)

Example 13 with Enemigo

use of mx.itesm.another_monkey_paradox.Objetos.Enemigo in project AnotherMonekyParadox by SantiagoMille.

the class PantallaJuego method render.

@Override
public void render(float delta) {
    stateTime += delta;
    if (estado != EstadoJuego.PAUSADO) {
        actualizarObjetos(delta, stateTime);
        System.out.println(delta);
    }
    if (!arma.isPressed()) {
        Bar.setValue(Bar.getValue() + 0.02f);
    }
    if (!powerUpVidaFlag && isMovingRight) {
        powerUpVida.setX(powerUpVida.getX() - (delta * 80));
    }
    if (!powerUpGranadaFlag && isMovingRight) {
        powerUpGranada.setX(powerUpGranada.getX() - (delta * 80));
    }
    // Usar v=d/t o en este caso d=v*t
    Gdx.gl.glClearColor(.3f, .6f, .3f, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.setProjectionMatrix(camara.combined);
    batch.begin();
    fondo1.render(batch);
    fondo2.render(batch);
    if (fondo1.getImagenA().getX() < -780 && fondo1.getImagenA().getX() > -882 && firstFilter) {
        firstFilter = false;
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola02Frame1, canervicola02Frame1, canervicola02Frame2, canervicola02Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -1480 && fondo1.getImagenA().getX() > -1582 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola03Frame0, canervicola03Frame1, canervicola03Frame2, canervicola03Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -2180 && fondo1.getImagenA().getX() > -2282 && firstFilter) {
        secondFilter = true;
        firstFilter = false;
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola02Frame0, canervicola02Frame1, canervicola02Frame2, canervicola02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola03Frame0, canervicola03Frame1, canervicola03Frame2, canervicola03Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -2880 && fondo1.getImagenA().getX() > -2982 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola02Frame0, canervicola02Frame1, canervicola02Frame2, canervicola02Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -3580 && fondo1.getImagenA().getX() > -3600 && firstFilter) {
        secondFilter = true;
        firstFilter = false;
        for (int i = 0; i < 10; i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 4; i++) {
            enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -randomX && powerUpVidaFlag) {
        powerUpVida.setX(ANCHO * 0.75f);
        powerUpVidaFlag = false;
    }
    if (fondo1.getImagenA().getX() < -randomX2 && powerUpGranadaFlag) {
        powerUpGranada.setX(ANCHO * 0.75f);
        powerUpGranadaFlag = false;
    }
    for (PowerUp e : vidas) {
        if (e.isActiva()) {
            e.render(batch);
        }
    }
    TextureRegion currentFrame = (TextureRegion) personaje.getAnimacion().getKeyFrame(stateTime, true);
    if (personaje.isRight() && currentFrame.isFlipX()) {
        currentFrame.flip(true, false);
        isFliped = false;
    } else if (!personaje.isRight() && !currentFrame.isFlipX()) {
        currentFrame.flip(true, false);
        isFliped = true;
    } else {
    }
    // Granadas
    for (Granada Granada : listaGranadas) {
        Granada.render(batch);
    }
    // Balas
    for (Bala bala : listaBalas) {
        bala.render(batch);
    }
    for (Bala balaB : listaBalasBoss) {
        if (!bossKilled) {
            balaB.render(batch);
        }
    }
    personaje.render(batch, stateTime, isMovingRight, isMovingLeft);
    // Dibuja enemigos
    for (Enemigo e : listaEnemigos) {
        e.render(batch);
        if (estado == EstadoJuego.JUGANDO && e.right) {
            if (personaje.getX() < camara.position.x) {
                e.setX(e.getX() + (-60 * delta));
            } else {
                e.setX(e.getX() + (-100 * delta));
            }
        } else if (estado == EstadoJuego.JUGANDO && !e.right) {
            if (personaje.getX() < camara.position.x) {
                e.setX(e.getX() + (60 * delta));
            } else {
                e.setX(e.getX() + (20 * delta));
            }
        }
    }
    if (fondo1.getImagenA().getX() < -3999) {
        shootCounter++;
        if (shootCounter >= 50 && !bossKilled) {
            shootCounter = 0;
            Bala nueva = new Bala(bossDisparo, true);
            nueva.set(bossSprite.getX(), bossSprite.getY() + 68);
            listaBalasBoss.add(nueva);
        }
        if (personaje.getX() >= camara.position.x && isMovingRight && !isMovingLeft) {
            float x = bossSprite.getX();
            bossSprite.setPosition(x - (delta * 78), ALTO / 4);
        }
        if (vidaBoss <= 0) {
            itemBoss.setPosition(bossSprite.getX(), ALTO / 4);
            itemBoss.draw(batch);
            rectBoss.setPosition(-100, ALTO + 100);
            bossKilled = true;
        } else {
            bossSprite.draw(batch);
        }
    }
    // Texto Score
    textoGly.setText(font, "Score: " + puntosJugador);
    font.draw(batch, textoGly, ANCHO / 2 + 370, ALTO - 15);
    granadasNum.draw(batch);
    textoGlyGran.setText(font, "" + maxGrandas);
    font.draw(batch, textoGlyGran, 899, 161);
    // Texto Pausa
    if (estado == EstadoJuego.PAUSADO) {
        font.draw(batch, pausaText, ANCHO / 4 - 175, ALTO * 13 / 20);
    }
    powerUpGranada.render(batch);
    powerUpVida.render(batch);
    barraBala.draw(batch);
    banana1.render(batch);
    banana2.render(batch);
    banana3.render(batch);
    banana4.render(batch);
    banana5.render(batch);
    banana6.render(batch);
    batch.end();
    stageNivel.act();
    stageNivel.draw();
    batch.begin();
    bananaBarra.draw(batch);
    batch.end();
    // Botón PAUSA
    if (estado == EstadoJuego.PAUSADO) {
        // Solo si está pausado muestra la imagen
        escenaPausa.draw();
    }
    Gdx.app.log("render", "fps=" + Gdx.graphics.getFramesPerSecond());
    if (Gdx.input.isKeyPressed(Input.Keys.BACK)) {
        main.setScreen(new PantallaMenu(main));
    }
}
Also used : PantallaMenu(mx.itesm.another_monkey_paradox.Pantallas.PantallaMenu) TextureRegion(com.badlogic.gdx.graphics.g2d.TextureRegion) Enemigo(mx.itesm.another_monkey_paradox.Objetos.Enemigo) PowerUp(mx.itesm.another_monkey_paradox.Objetos.PowerUp) Granada(mx.itesm.another_monkey_paradox.Objetos.Granada) Bala(mx.itesm.another_monkey_paradox.Objetos.Bala)

Example 14 with Enemigo

use of mx.itesm.another_monkey_paradox.Objetos.Enemigo in project AnotherMonekyParadox by SantiagoMille.

the class NivelGenerico method verificarColisionPersonajeAlien.

protected boolean verificarColisionPersonajeAlien(float dt) {
    Enemigo x;
    Rectangle rectEnemigo;
    Rectangle rectPersonaje;
    boolean hit = false;
    for (int i = listaEnemigos.size - 1; i >= 0; i--) {
        x = listaEnemigos.get(i);
        if (x.isRight()) {
            rectEnemigo = new Rectangle(x.getX() + 130, x.getY(), x.getWidth(), x.getHeight());
        } else {
            rectEnemigo = new Rectangle(x.getX() - 130, x.getY(), x.getWidth(), x.getHeight());
        }
        if (!personaje.isRight()) {
            rectPersonaje = new Rectangle(personaje.getX() + 25, personaje.getY(), personaje.getWidth(), personaje.getHeight());
        } else {
            rectPersonaje = new Rectangle(personaje.getX() - 25, personaje.getY(), personaje.getWidth(), personaje.getHeight());
        }
        if (rectEnemigo.overlaps(rectPersonaje)) {
            if (x.getAnimacion().getKeyFrameIndex(dt) == 0) {
                for (int j = vidas.size() - 1; j >= 0; j--) {
                    if (contador >= 1) {
                        if (vidas.get(j).isActiva()) {
                            if (music) {
                                hitSound.play();
                            }
                            vidas.get(j).setActiva(false);
                            hit = true;
                            contador = 0;
                        }
                    }
                }
            }
        }
    }
    contador++;
    return hit;
}
Also used : Enemigo(mx.itesm.another_monkey_paradox.Objetos.Enemigo) Rectangle(com.badlogic.gdx.math.Rectangle)

Aggregations

Enemigo (mx.itesm.another_monkey_paradox.Objetos.Enemigo)14 Bala (mx.itesm.another_monkey_paradox.Objetos.Bala)10 Granada (mx.itesm.another_monkey_paradox.Objetos.Granada)10 Preferences (com.badlogic.gdx.Preferences)5 SpriteBatch (com.badlogic.gdx.graphics.g2d.SpriteBatch)5 TextureRegion (com.badlogic.gdx.graphics.g2d.TextureRegion)5 PowerUp (mx.itesm.another_monkey_paradox.Objetos.PowerUp)5 PantallaMenu (mx.itesm.another_monkey_paradox.Pantallas.PantallaMenu)5 Fondo (mx.itesm.another_monkey_paradox.Utils.Fondo)5 Rectangle (com.badlogic.gdx.math.Rectangle)4