Search in sources :

Example 11 with Bala

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

the class PantallaJuego2 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();
    // Objeto que dibuja texto
    // font = new BitmapFont(Gdx.files.internal("tutorial.fnt"));
    // textoGly = new GlyphLayout(font,"Score");
    // textoGlyGran = new GlyphLayout(font,"Score");
    boss = new Texture("Bosses/jefe_n2.png");
    itemBosss = new Texture("Bosses/item_boss2.png");
    bossSprite = new Sprite(boss);
    bossSprite.setPosition(ANCHO, ALTO);
    itemBoss = new Sprite(itemBosss);
    itemBoss.setPosition(ANCHO * 3 / 4, ALTO / 4);
    for (int i = 0; i < 5; i++) {
        if (i < cuentaVidas) {
            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;
    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, 200, 200);
    // 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.25f);
        }
    });
    // 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 PantallaJuego2.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 : Sprite(com.badlogic.gdx.graphics.g2d.Sprite) 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 12 with Bala

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

the class PantallaJuego2 method verificarColisionBalaBoss.

/*
    private void verificarColisionPersonajeItemBoss() {
        Rectangle rectItem = itemBoss.getBoundingRectangle();
        Rectangle rectPersonaje = new Rectangle(personaje.getX(), personaje.getY(), personaje.getWidth(), personaje.getHeight());
        if(rectItem.overlaps(rectPersonaje)){
            //PANTALLA DE VICTORIA PROVISIONAL
            main.setScreen(new EscenaAstroGanador(main, puntosJugador));
        }
    }
    */
/*
    private void verificarColisionPersonajeItemVida() {
        Rectangle rectItem = powerUpVida.getSprite().getBoundingRectangle();
        Rectangle rectPersonaje = new Rectangle(personaje.getX(), personaje.getY(), personaje.getWidth(), personaje.getHeight());
        if(rectItem.overlaps(rectPersonaje)){
            //PANTALLA DE VICTORIA PROVISIONAL
            for(PowerUp vida:vidas){
                if(!vida.isActiva()){
                    vida.setActiva(true);
                    break;
                }
            }
            powerUpVida.setX(-500);
        }
    }
    */
/*
    private void verificarColisionPersonajeItemGranada() {
        Rectangle rectItem = powerUpGranada.getSprite().getBoundingRectangle();
        Rectangle rectPersonaje = new Rectangle(personaje.getX(), personaje.getY(), personaje.getWidth(), personaje.getHeight());
        if(rectItem.overlaps(rectPersonaje)){
            //PANTALLA DE VICTORIA PROVISIONAL
            maxGrandas++;
            powerUpGranada.setX(-500);
        }
    }
    */
/*
    private void verificarVidaEnemigos() {
        for(int i = listaEnemigos.size-1;i>=0;i--){
            if(listaEnemigos.get(i).getVida() <= 0){
                listaEnemigos.removeIndex(i);
                puntosJugador += 10;

            }
        }
    }
    */
/*
    private void verificarColisionBalaEnemigo(float dt) {
        Rectangle rectEnemigo;
        Bala bala;

        for(int j =listaBalas.size-1; j>=0;j--){
            bala = listaBalas.get(j);
            for(int i =listaEnemigos.size-1;i>=0;i--){

                enemigo = listaEnemigos.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(bala.getSprite().getBoundingRectangle().overlaps(rectEnemigo)){
                    listaBalas.removeIndex(j);
                    vidaEnemigo = enemigo.getVida() - 12;
                    enemigo.setVida(vidaEnemigo);
                    System.out.println(vidaEnemigo);
                }
                verificarVidaEnemigos();
            }
        }
    }
    */
/*
    private void verificarColisionBalaBala(float dt) {
        Bala balaBoss;
        Bala bala;

        for(int j =listaBalas.size-1; j>=0;j--){
            bala = listaBalas.get(j);
            for(int i =listaBalasBoss.size-1;i>=0;i--){

                balaBoss = listaBalasBoss.get(i);
                if(bala.getSprite().getBoundingRectangle().overlaps(balaBoss.getSprite().getBoundingRectangle())){
                    listaBalas.removeIndex(j);
                    listaBalasBoss.removeIndex(i);
                }
            }
        }
    }
    */
private void verificarColisionBalaBoss(float dt) {
    Bala bala;
    for (int j = listaBalas.size - 1; j >= 0; j--) {
        bala = listaBalas.get(j);
        rectBoss = bossSprite.getBoundingRectangle();
        if (bala.getSprite().getBoundingRectangle().overlaps(rectBoss)) {
            vidaBoss -= 25;
            if (!bossKilled) {
                listaBalas.removeIndex(j);
            }
        }
    }
}
Also used : Bala(mx.itesm.another_monkey_paradox.Objetos.Bala)

Example 13 with Bala

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

the class PantallaJuegoSurvival method verificarColisionBalaRusoo.

protected void verificarColisionBalaRusoo(float diff, int difDelNivel) {
    if (diff < 0.2)
        diff = 0.2f;
    Rectangle rectEnemigo;
    Bala bala;
    for (int j = listaBalas.size - 1; j >= 0; j--) {
        bala = listaBalas.get(j);
        for (int i = listaEnemigosRusos.size - 1; i >= 0; i--) {
            enemigo = listaEnemigosRusos.get(i);
            if (enemigo.right) {
                rectEnemigo = new Rectangle(enemigo.getX() + 80, enemigo.getY(), enemigo.getWidth(), enemigo.getHeight());
            } else {
                rectEnemigo = new Rectangle(enemigo.getX() - 80, enemigo.getY(), enemigo.getWidth(), enemigo.getHeight());
            }
            if (bala.getSprite().getBoundingRectangle().overlaps(rectEnemigo)) {
                try {
                    listaBalas.removeIndex(j);
                } catch (Exception e) {
                }
                vidaEnemigo = enemigo.getVida() - (float) ((12 - difDelNivel) / diff);
                enemigo.setVida(vidaEnemigo);
                System.out.println(vidaEnemigo);
            }
            verificarVidaEnemigosR();
        }
    }
}
Also used : Rectangle(com.badlogic.gdx.math.Rectangle) Bala(mx.itesm.another_monkey_paradox.Objetos.Bala)

Example 14 with Bala

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

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

the class NivelGenerico method verificarColisionBalaBala.

protected void verificarColisionBalaBala(float dt) {
    Bala balaBoss;
    Bala bala;
    for (int j = listaBalas.size - 1; j >= 0; j--) {
        bala = listaBalas.get(j);
        for (int i = listaBalasBoss.size - 1; i >= 0; i--) {
            balaBoss = listaBalasBoss.get(i);
            if (bala.getSprite().getBoundingRectangle().overlaps(balaBoss.getSprite().getBoundingRectangle())) {
                try {
                    listaBalas.removeIndex(j);
                    listaBalasBoss.removeIndex(i);
                } catch (Exception e) {
                }
            }
        }
    }
}
Also used : Bala(mx.itesm.another_monkey_paradox.Objetos.Bala)

Aggregations

Bala (mx.itesm.another_monkey_paradox.Objetos.Bala)30 Granada (mx.itesm.another_monkey_paradox.Objetos.Granada)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 Rectangle (com.badlogic.gdx.math.Rectangle)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