Search in sources :

Example 21 with Granada

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

the class PantallaJuego4 method verificarColisionGranadaBoss.

private void verificarColisionGranadaBoss(float dt) {
    Granada granada;
    for (int j = listaGranadas.size - 1; j >= 0; j--) {
        granada = listaGranadas.get(j);
        rectBoss = bossSprite.getBoundingRectangle();
        if (granada.getSprite().getBoundingRectangle().overlaps(rectBoss)) {
            vidaBoss -= 100;
            if (!bossKilled) {
                listaGranadas.removeIndex(j);
            }
        }
    }
}
Also used : Granada(mx.itesm.another_monkey_paradox.Objetos.Granada)

Example 22 with Granada

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

the class PantallaJuegoSurvival method verificarColisionGranadaEnemigoAlien.

protected void verificarColisionGranadaEnemigoAlien(float dt) {
    Rectangle rectEnemigo;
    Granada granada;
    for (int j = listaGranadas.size - 1; j >= 0; j--) {
        granada = listaGranadas.get(j);
        for (int i = listaEnemigosAlien.size - 1; i >= 0; i--) {
            enemigo = listaEnemigosAlien.get(i);
            if (enemigo.right) {
                rectEnemigo = new Rectangle(enemigo.getX() + 210, enemigo.getY(), enemigo.getWidth(), enemigo.getHeight());
            } else {
                rectEnemigo = new Rectangle(enemigo.getX() - 210, enemigo.getY(), enemigo.getWidth(), enemigo.getHeight());
            }
            if (granada.getSprite().getBoundingRectangle().overlaps(rectEnemigo)) {
                if (music) {
                    boomSound.play();
                }
                try {
                    listaGranadas.removeIndex(j);
                } catch (Exception e) {
                }
                vidaEnemigo = enemigo.getVida() - 100;
                if (enemigo.right) {
                    explosionGranadaRight(rectEnemigo.getX(), rectEnemigo.getY() + enemigo.getHeight() / 3);
                } else {
                    explosionGranadaLeft(rectEnemigo.getX() + enemigo.getWidth(), rectEnemigo.getY() + enemigo.getHeight() / 3);
                }
                enemigo.setVida(vidaEnemigo);
                verificarVidaEnemigosA();
            }
        }
    }
}
Also used : Rectangle(com.badlogic.gdx.math.Rectangle) Granada(mx.itesm.another_monkey_paradox.Objetos.Granada)

Example 23 with Granada

use of mx.itesm.another_monkey_paradox.Objetos.Granada 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 24 with Granada

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

the class PantallaJuegoSurvival method crearMapa.

private void crearMapa() {
    cargarTexturas();
    Gdx.input.setCatchBackKey(true);
    stageNivel = new Stage(vista);
    // para sacar número random donde se crean los powerups
    random = new Random();
    for (int i = 0; i < 5; i++) {
        if (i < 3) {
            vidas.add(new PowerUp(new Texture("vida.png"), camara.position.x + 10 - ANCHO / 2 + (75 * i), ALTO - 70, true));
        } else {
            vidas.add(new PowerUp(new Texture("vida.png"), camara.position.x + 10 - ANCHO / 2 + (75 * i), ALTO - 70, false));
        }
    }
    // Granadas Colisión
    // banana1 = new Bala(bananaDisparo,false);
    banana1.set(-100, -100);
    // banana2 = new Bala(bananaDisparo, false);
    banana2.set(-100, -100);
    // banana3 = new Bala(bananaDisparo, false);
    banana3.set(-100, -100);
    // banana4 = new Bala(bananaDisparo, true);
    banana4.set(-100, -100);
    // banana5 = new Bala(bananaDisparo, true);
    banana5.set(-100, -100);
    // banana6 = new Bala(bananaDisparo, true);
    banana6.set(-100, -100);
    randomX = random.nextDouble() * 4000;
    randomX2 = random.nextDouble() * 4000;
    // Barra Bala
    Bar.setPosition(745, ALTO * 0.93f);
    barraBala.setPosition(740, (ALTO * 0.92f) + 3);
    bananaBarra.setPosition(700, (ALTO * 0.90f));
    granada.setPosition(ANCHO * 3 / 4 - granada.getWidth() / 2 + 25, ALTO / 4 - granada.getHeight() / 2 - 80);
    granadasNum.setPosition(ANCHO * 0.712f - granadasNum.getWidth() / 2, ALTO / 4 - granadasNum.getHeight() / 2 - 40);
    /*
        //boton disparo
        TextureRegionDrawable btnArma = new TextureRegionDrawable(new TextureRegion(botonDisparo));
        TextureRegionDrawable btnArmaPressed = new TextureRegionDrawable(new TextureRegion(botonDisparoPressed));
        arma = new ImageButton(btnArma, btnArmaPressed);
        */
    arma.setPosition(ANCHO * 3 / 4 - arma.getWidth() / 2 + arma.getWidth() + 55, ALTO / 4 - arma.getHeight() / 2 - 80);
    /*
        //boton pausa
        TextureRegionDrawable btnPausa = new TextureRegionDrawable(new TextureRegion(botonPausa));
        pausa = new ImageButton(btnPausa);
        */
    pausa.setSize(55, 55);
    pausa.setPosition(ANCHO / 2 - pausa.getWidth() / 2, 680 - pausa.getHeight() / 2);
    /*
        //boton continua
        TextureRegionDrawable btnContinua = new TextureRegionDrawable(new TextureRegion(botonContinua));
        continua = new ImageButton(btnContinua);
        */
    continua.setSize(55, 55);
    continua.setPosition(ANCHO / 2 - continua.getWidth() / 2, 680 - continua.getHeight() / 2);
    /*
        //boton Home
        TextureRegionDrawable btnHome = new TextureRegionDrawable(new TextureRegion(botonHome));
        home = new ImageButton(btnContinua);
        */
    home.setSize(55, 55);
    home.setPosition(ANCHO / 2 - continua.getWidth() / 2, 680 - continua.getHeight() / 2);
    // Texturas para el pad
    Skin skin = new Skin();
    skin.add("fondo", padBack);
    skin.add("boton", padKnob);
    Touchpad.TouchpadStyle estilo = new Touchpad.TouchpadStyle();
    estilo.background = skin.getDrawable("fondo");
    estilo.knob = skin.getDrawable("boton");
    // Crea el pad
    // Radio, estilo
    Touchpad pad = new Touchpad(64, estilo);
    // x,y - ancho,alto
    pad.setBounds(40, 30, 210, 210);
    // Comportamiento del pad
    pad.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            Touchpad pad = (Touchpad) actor;
            if (pad.getKnobPercentX() > 0.25) {
                // Más de 20% de desplazamiento DERECHA
                personaje.setRight(true);
                isMovingRight = true;
                isMovingLeft = false;
            } else if (pad.getKnobPercentX() < -0.25) {
                // Más de 20% IZQUIERDA
                personaje.setRight(false);
                isMovingLeft = true;
                isMovingRight = false;
            } else {
                isMovingLeft = false;
                isMovingRight = false;
            }
        }
    });
    // Transparente
    pad.setColor(1, 1, 1, 0.7f);
    // Comportamiento de Boton Granada
    granada.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            // Gdx.app.log("ClickListener","Si se clickeoooo");
            if (maxGrandas > 0) {
                if (!isFliped) {
                    Granada grana = new Granada(bananaGranada, false);
                    grana.set(personaje.getX() + 105, personaje.getY() + 68);
                    listaGranadas.add(grana);
                    maxGrandas--;
                } else {
                    Granada grana = new Granada(bananaGranada, true);
                    grana.set(personaje.getX(), personaje.getY() + 68);
                    listaGranadas.add(grana);
                    maxGrandas--;
                }
            }
        }
    });
    // Comportamiento de Boton Disparo
    arma.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            // Gdx.app.log("ClickListener","Si se clickeoooo");
            if (Bar.getValue() > 0.1) {
                if (music) {
                    gunSound.play();
                }
                if (!isFliped) {
                    Bala nueva = new Bala(bananaDisparo, false);
                    nueva.set(personaje.getX() + 105, personaje.getY() + 68);
                    listaBalas.add(nueva);
                } else {
                    if (music) {
                        gunSound.play();
                    }
                    Bala nueva = new Bala(bananaDisparo, true);
                    nueva.set(personaje.getX(), personaje.getY() + 68);
                    listaBalas.add(nueva);
                }
            }
            Bar.setValue(Bar.getValue() - 0.1f);
        }
    });
    // Comportamiento de Boton Pausa
    pausa.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            // Gdx.app.log("ClickListener","Si se clickeoooo");
            estado = PantallaJuego.EstadoJuego.PAUSADO;
            // main.setScreen((Screen) new EscenaPausa2(vista,batch));
            if (escenaPausa == null) {
                escenaPausa = new PantallaJuegoSurvival.EscenaPausa2(vista, batch);
            }
            Gdx.input.setInputProcessor(escenaPausa);
            pause();
        }
    });
    stageNivel.addActor(granada);
    stageNivel.addActor(arma);
    stageNivel.addActor(pausa);
    stageNivel.addActor(pad);
    stageNivel.addActor(Bar);
    Gdx.input.setInputProcessor(stageNivel);
}
Also used : Granada(mx.itesm.another_monkey_paradox.Objetos.Granada) Bala(mx.itesm.another_monkey_paradox.Objetos.Bala) Texture(com.badlogic.gdx.graphics.Texture) Random(java.util.Random) Touchpad(com.badlogic.gdx.scenes.scene2d.ui.Touchpad) Actor(com.badlogic.gdx.scenes.scene2d.Actor) PowerUp(mx.itesm.another_monkey_paradox.Objetos.PowerUp) Stage(com.badlogic.gdx.scenes.scene2d.Stage) Skin(com.badlogic.gdx.scenes.scene2d.ui.Skin) ChangeListener(com.badlogic.gdx.scenes.scene2d.utils.ChangeListener) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) ClickListener(com.badlogic.gdx.scenes.scene2d.utils.ClickListener)

Example 25 with Granada

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

the class PantallaJuegoSurvival method actualizarObjetos.

private void actualizarObjetos(float dt, float stateTime) {
    // Movimiento del personaje
    if (isMovingRight && !isMovingLeft) {
        if (personaje.getX() < camara.position.x) {
            if (fondo4.getImagenA().getX() + fondo4.getImagenA().getWidth() > camara.position.x + ANCHO / 2) {
                personaje.setX(personaje.getX() + (dt * 110));
            }
        } else {
            if (fondo4.getImagenA().getX() + fondo4.getImagenA().getWidth() > camara.position.x + ANCHO / 2) {
                fondo1.mover(-dt * 109);
                fondo2.mover(-dt * 109);
                fondo3.mover(-dt * 109);
                fondo4.mover(-dt * 109);
            }
        }
    } else if (isMovingLeft && !isMovingRight) {
        if (personaje.getX() > (camara.position.x - ANCHO / 2)) {
            personaje.setX(personaje.getX() + (dt * -110));
        }
        if (fondo1.getImagenA().getX() > 0) {
            fondo1.mover(dt * 20);
            fondo2.mover(dt * 20);
            fondo3.mover(dt * 20);
            fondo4.mover(dt * 20);
        }
    }
    // Balas
    int i = 0;
    for (Bala bala : listaBalas) {
        if (bala.getX() > camara.position.x + ANCHO / 2 || bala.getX() < camara.position.x - ANCHO / 2) {
            listaBalas.removeIndex(i);
        }
        if (bala.fliped) {
            bala.mover(dt * 2);
        } else {
            bala.mover(-dt * 2);
        }
        bala.getSprite().rotate(10);
        i++;
    }
    // Granadas
    int j = 0;
    for (Granada granada : listaGranadas) {
        if (granada.getX() > camara.position.x + ANCHO / 2 || granada.getX() < camara.position.x - ANCHO / 2) {
            listaGranadas.removeIndex(j);
        }
        if (granada.fliped) {
            granada.mover(dt * 2);
        } else {
            granada.mover(-dt * 2);
        }
        granada.getSprite().rotate(10);
        j++;
    }
    if (crashRight) {
        if (banana1.getX() < ANCHO / 20 - banana2.getWidth() || banana1.getX() > ANCHO - ANCHO / 20) {
            crashRight = false;
            banana1.set(ANCHO, ALTO);
            banana2.set(ANCHO, ALTO);
            banana3.set(ANCHO, ALTO);
            banana4.set(ANCHO, ALTO);
            banana5.set(ANCHO, ALTO);
            banana6.set(ANCHO, ALTO);
        }
        banana1.mover(-dt * 2);
        banana2.moverY(dt * 2);
        banana2.mover(-dt * 2);
        banana3.moverY(-dt * 2);
        banana3.mover(-dt * 2);
        banana4.mover(dt * 2);
        banana5.moverY(dt * 2);
        banana6.moverY(-dt * 2);
        banana5.mover(dt * 2);
        banana6.mover(dt * 2);
    }
    if (crashLeft) {
        if (banana4.getX() > ANCHO - ANCHO / 20 || banana4.getX() < ANCHO / 20 - banana5.getWidth()) {
            crashRight = false;
            banana1.set(ANCHO, ALTO);
            banana2.set(ANCHO, ALTO);
            banana3.set(ANCHO, ALTO);
            banana4.set(ANCHO, ALTO);
            banana5.set(ANCHO, ALTO);
            banana6.set(ANCHO, ALTO);
        }
        banana1.mover(-dt * 2);
        banana2.moverY(dt * 2);
        banana2.mover(-dt * 2);
        banana3.moverY(-dt * 2);
        banana3.mover(-dt * 2);
        banana4.mover(dt * 2);
        banana5.moverY(dt * 2);
        banana6.moverY(-dt * 2);
        banana5.mover(dt * 2);
        banana6.mover(dt * 2);
    }
    verificarColisionBalaEnemigo(stateTime, difficulty, 7);
    verificarColisionGranadaEnemigo(stateTime);
    verificarColisionPersonajeItemGranada();
    verificarColisionPersonajeItemVida(3);
    verificarColisionBalaRusoo(difficulty, 7);
    verificarColisionGranadaRusoo();
    verificarColisionGranadaEnemigoAlien(stateTime);
    verificarColisionBalaEnemigoAlien(stateTime, difficulty, 7);
    verificarVidaAstro();
    timeSinceCollision += dt;
    System.out.println("TimeSinceCollision: " + timeSinceCollision);
    if (timeSinceCollision > 1.8f) {
        boolean shake = verificarColisionPersonajeEnemigo(dt);
        boolean shake2 = verificarColisionPersonajeAlienn(stateTime);
        boolean shake3 = verificarColisionPersonajeEnemigoRuso(stateTime);
        if (shake || shake2 || shake3) {
            Gdx.input.vibrate(350);
            screenShake.update(dt, camara);
            batch.setProjectionMatrix(camara.combined);
            camara.update();
            camara.position.x = ANCHO / 2;
            camara.position.y = ALTO / 2;
            timeSinceCollision = 0;
        }
    }
}
Also used : Bala(mx.itesm.another_monkey_paradox.Objetos.Bala) Granada(mx.itesm.another_monkey_paradox.Objetos.Granada)

Aggregations

Granada (mx.itesm.another_monkey_paradox.Objetos.Granada)28 Bala (mx.itesm.another_monkey_paradox.Objetos.Bala)20 Enemigo (mx.itesm.another_monkey_paradox.Objetos.Enemigo)10 PowerUp (mx.itesm.another_monkey_paradox.Objetos.PowerUp)10 Preferences (com.badlogic.gdx.Preferences)5 Texture (com.badlogic.gdx.graphics.Texture)5 SpriteBatch (com.badlogic.gdx.graphics.g2d.SpriteBatch)5 TextureRegion (com.badlogic.gdx.graphics.g2d.TextureRegion)5 Actor (com.badlogic.gdx.scenes.scene2d.Actor)5 InputEvent (com.badlogic.gdx.scenes.scene2d.InputEvent)5 Stage (com.badlogic.gdx.scenes.scene2d.Stage)5 Skin (com.badlogic.gdx.scenes.scene2d.ui.Skin)5 Touchpad (com.badlogic.gdx.scenes.scene2d.ui.Touchpad)5 ChangeListener (com.badlogic.gdx.scenes.scene2d.utils.ChangeListener)5 ClickListener (com.badlogic.gdx.scenes.scene2d.utils.ClickListener)5 Random (java.util.Random)5 PantallaMenu (mx.itesm.another_monkey_paradox.Pantallas.PantallaMenu)5 Fondo (mx.itesm.another_monkey_paradox.Utils.Fondo)5 Sprite (com.badlogic.gdx.graphics.g2d.Sprite)4 Rectangle (com.badlogic.gdx.math.Rectangle)4