Search in sources :

Example 6 with Enemigo

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

the class PantallaJuegoSurvival method verificarColisionPersonajeAlienn.

protected boolean verificarColisionPersonajeAlienn(float dt) {
    Enemigo x;
    Rectangle rectEnemigo;
    Rectangle rectPersonaje;
    boolean hit = false;
    for (int i = listaEnemigosAlien.size - 1; i >= 0; i--) {
        x = listaEnemigosAlien.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)

Example 7 with Enemigo

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

the class PantallaJuegoSurvival method show.

@Override
public void show() {
    crearCamara();
    crearMapa();
    // personaje = new Personaje(astroCaminata0, astroCaminata1, astroCaminata2, astroCaminata3);
    Preferences prefs = Gdx.app.getPreferences("AnotherMonkeyPreferenceStory");
    difficulty = prefs.getFloat("Difficulty");
    fondo1 = new Fondo(fondoNivel01);
    fondo2 = new Fondo(fondoNivel02);
    fondo3 = new Fondo(fondoNivel03);
    fondo4 = new Fondo(fondoNivel04);
    fondo2.getImagenA().setPosition(fondo1.getImagenA().getWidth(), 0);
    fondo3.getImagenA().setPosition(fondo2.getImagenA().getWidth() * 2, 0);
    fondo4.getImagenA().setPosition(fondo3.getImagenA().getWidth() * 3, 0);
    batch = new SpriteBatch();
    // Lista Enemigos
    listaEnemigos = new Array<Enemigo>();
    listaEnemigosRusos = new Array<Enemigo>();
    listaEnemigosAlien = new Array<Enemigo>();
    for (int i = 0; i < getRandomNumber(10, 13); i++) {
        enemigo = new Enemigo(canervicola01Frame0, canervicola01Frame1, canervicola01Frame2, canervicola01Frame3, 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);
    }
    // Lista Balas
    listaBalas = new Array<Bala>();
    // Lista Granadas
    listaGranadas = new Array<Granada>();
    estado = PantallaJuego.EstadoJuego.JUGANDO;
    Gdx.input.setCatchBackKey(true);
    musicNivel5.setLooping(true);
    if (prefs.getBoolean("music", true)) {
        musicNivel5.play();
    }
// Gdx.input.setInputProcessor(new ProcesadorEntrada());
}
Also used : Enemigo(mx.itesm.another_monkey_paradox.Objetos.Enemigo) Bala(mx.itesm.another_monkey_paradox.Objetos.Bala) Granada(mx.itesm.another_monkey_paradox.Objetos.Granada) Preferences(com.badlogic.gdx.Preferences) SpriteBatch(com.badlogic.gdx.graphics.g2d.SpriteBatch) Fondo(mx.itesm.another_monkey_paradox.Utils.Fondo)

Example 8 with Enemigo

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

the class NivelGenerico method verificarColisionPersonajeEnemigo.

protected boolean verificarColisionPersonajeEnemigo(float dt) {
    Enemigo x;
    Rectangle rectEnemigo;
    Rectangle rectPersonaje;
    boolean hit = false;
    for (int i = listaEnemigos.size - 1; i >= 0; i--) {
        x = listaEnemigos.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 9 with Enemigo

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

the class PantallaJuego4 method show.

@Override
public void show() {
    crearCamara();
    crearMapa();
    // personaje = new Personaje(astroCaminata0, astroCaminata1, astroCaminata2, astroCaminata3);
    fondo1 = new Fondo(fondoNivel01);
    fondo2 = new Fondo(fondoNivel02);
    fondo2.getImagenA().setPosition(fondo1.getImagenA().getWidth(), 0);
    Preferences prefs = Gdx.app.getPreferences("AnotherMonkeyPreferenceStory");
    difficulty = prefs.getFloat("Difficulty");
    batch = new SpriteBatch();
    // Lista Enemigos
    listaEnemigos = new Array<Enemigo>();
    for (int i = 0; i < 10; i++) {
        enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, true, i);
        listaEnemigos.add(enemigo);
    }
    for (int i = 0; i < 10; i++) {
        enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, false, i);
        listaEnemigos.add(enemigo);
    }
    // Lista Balas
    listaBalas = new Array<Bala>();
    listaBalasBoss = new Array<Bala>();
    // Lista Granadas
    listaGranadas = new Array<Granada>();
    estado = PantallaJuego.EstadoJuego.JUGANDO;
    Gdx.input.setCatchBackKey(true);
    musicNivel4.setLooping(true);
    if (prefs.getBoolean("music", true)) {
        musicNivel4.play();
    }
// Gdx.input.setInputProcessor(new ProcesadorEntrada());
}
Also used : Enemigo(mx.itesm.another_monkey_paradox.Objetos.Enemigo) Bala(mx.itesm.another_monkey_paradox.Objetos.Bala) Granada(mx.itesm.another_monkey_paradox.Objetos.Granada) Preferences(com.badlogic.gdx.Preferences) SpriteBatch(com.badlogic.gdx.graphics.g2d.SpriteBatch) Fondo(mx.itesm.another_monkey_paradox.Utils.Fondo)

Example 10 with Enemigo

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

the class PantallaJuego4 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 (!powerUpVidaFlag2 && isMovingRight) {
        powerUpVida2.setX(powerUpVida2.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 < 10; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 10; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -1480 && fondo1.getImagenA().getX() > -1582 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < 10; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 10; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -2180 && fondo1.getImagenA().getX() > -2282 && firstFilter) {
        secondFilter = true;
        firstFilter = false;
        for (int i = 0; i < 10; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 10; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -2880 && fondo1.getImagenA().getX() > -2982 && secondFilter) {
        secondFilter = false;
        firstFilter = true;
        for (int i = 0; i < 10; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 10; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -3580 && fondo1.getImagenA().getX() > -3600 && firstFilter) {
        secondFilter = true;
        firstFilter = false;
        for (int i = 0; i < 6; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, true, i);
            listaEnemigos.add(enemigo);
        }
        for (int i = 0; i < 6; i++) {
            enemigo = new Enemigo(alien01Frame0, alien01Frame1, alien01Frame2, alien01Frame3, false, i);
            listaEnemigos.add(enemigo);
        }
    }
    if (fondo1.getImagenA().getX() < -randomX && powerUpVidaFlag) {
        powerUpVida.setX(ANCHO * 0.75f);
        powerUpVidaFlag = false;
    }
    if (fondo1.getImagenA().getX() < -randomX22 && powerUpVidaFlag2) {
        powerUpVida2.setX(ANCHO * 0.75f);
        powerUpVidaFlag2 = 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 == PantallaJuego.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 == PantallaJuego.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 >= 40 && !bossKilled) {
            shootCounter = 0;
            Bala nueva = new Bala(bossDisparo, true);
            nueva.set(bossSprite.getX() + 10, personaje.getY() + 70);
            listaBalasBoss.add(nueva);
        }
        if (personaje.getX() >= camara.position.x && isMovingRight && !isMovingLeft) {
            float x = bossSprite.getX();
            bossSprite.setPosition(x - (delta * 78), ALTO / 4 - 40);
        }
        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 == PantallaJuego.EstadoJuego.PAUSADO) {
        font.draw(batch, pausaText, ANCHO / 4 - 175, ALTO * 13 / 20);
    }
    powerUpGranada.render(batch);
    powerUpVida.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)

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