use of mx.itesm.another_monkey_paradox.Objetos.Bala in project AnotherMonekyParadox by SantiagoMille.
the class NivelGenerico method verificarColisionPersonajeBalaBoss.
protected void verificarColisionPersonajeBalaBoss(float dt) {
Bala bala;
Rectangle rectPersonaje;
for (int i = listaBalasBoss.size - 1; i >= 0; i--) {
bala = listaBalasBoss.get(i);
rectPersonaje = new Rectangle(personaje.getX(), personaje.getY(), personaje.getWidth(), personaje.getHeight());
if (bala.getSprite().getBoundingRectangle().overlaps(rectPersonaje)) {
for (int j = vidas.size() - 1; j >= 0; j--) {
if (contador >= 50) {
if (vidas.get(j).isActiva()) {
if (music) {
hitSound.play();
Gdx.input.vibrate(350);
screenShake.update(dt, camara);
}
vidas.get(j).setActiva(false);
contador = 0;
}
}
}
}
}
contador++;
}
use of mx.itesm.another_monkey_paradox.Objetos.Bala in project AnotherMonekyParadox by SantiagoMille.
the class NivelGenerico method verificarColisionBalaEnemigo.
protected void verificarColisionBalaEnemigo(float dt, float diff, int difDelNivel) {
if (diff < 0.2)
diff = 0.25f;
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)) {
try {
listaBalas.removeIndex(j);
} catch (Exception e) {
}
vidaEnemigo = enemigo.getVida() - (float) ((12 - difDelNivel) / diff);
enemigo.setVida(vidaEnemigo);
System.out.println(vidaEnemigo);
}
verificarVidaEnemigos();
}
}
}
use of mx.itesm.another_monkey_paradox.Objetos.Bala in project AnotherMonekyParadox by SantiagoMille.
the class PantallaJuego3 method actualizarObjetos.
private void actualizarObjetos(float dt, float stateTime) {
// Movimiento del personaje
if (isMovingRight && !isMovingLeft) {
if (personaje.getX() < camara.position.x) {
personaje.setX(personaje.getX() + (dt * 110));
} else {
fondo1.mover(-dt * 109);
fondo2.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);
}
}
// 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++;
}
i = 0;
for (Bala balaa : listaBalasBoss) {
if (balaa.getX() > camara.position.x + ANCHO / 2 || balaa.getX() < camara.position.x - ANCHO / 2) {
listaBalasBoss.removeIndex(i);
}
balaa.mover(dt * 2);
// balaa.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);
}
verificarColisionBalaRuso(stateTime, difficulty, 3);
verificarColisionBalaBala(stateTime);
verificarColisionGranadaRuso(stateTime);
verificarColisionBalaBoss(stateTime);
verificarColisionGranadaBoss(stateTime);
verificarColisionPersonajeBalaBoss(stateTime);
verificarColisionPersonajeItemBoss();
verificarColisionPersonajeItemGranada();
cuentaVidas = verificarColisionPersonajeItemVida(cuentaVidas);
cuentaVidas = verificarColisionPersonajeItemVida(cuentaVidas, powerUpVida2);
verificarVidaAstro();
timeSinceCollision += dt;
if (timeSinceCollision > 1.8f) {
boolean shake = verificarColisionPersonajeEnemigo(dt);
if (shake) {
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;
}
}
}
use of mx.itesm.another_monkey_paradox.Objetos.Bala in project AnotherMonekyParadox by SantiagoMille.
the class PantallaJuego3 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_n3.png");
itemBosss = new Texture("Bosses/item_boss3.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;
randomX22 = 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, 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() + 63);
listaBalas.add(nueva);
} else {
if (music) {
gunSound.play();
}
Bala nueva = new Bala(bananaDisparo, true);
nueva.set(personaje.getX(), personaje.getY() + 63);
listaBalas.add(nueva);
}
}
Bar.setValue(Bar.getValue() - 0.18f);
}
});
// 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 PantallaJuego3.EscenaPausa3(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);
}
use of mx.itesm.another_monkey_paradox.Objetos.Bala 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());
}
Aggregations