use of mx.itesm.another_monkey_paradox.Objetos.Bala in project AnotherMonekyParadox by SantiagoMille.
the class PantallaJuegoSurvival method verificarColisionBalaEnemigoAlien.
protected void verificarColisionBalaEnemigoAlien(float dt, 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 = 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 (bala.getSprite().getBoundingRectangle().overlaps(rectEnemigo)) {
try {
listaBalas.removeIndex(j);
} catch (Exception e) {
}
vidaEnemigo = enemigo.getVida() - ((12 - difDelNivel) / diff);
enemigo.setVida(vidaEnemigo);
System.out.println(vidaEnemigo);
}
verificarVidaEnemigosA();
}
}
}
use of mx.itesm.another_monkey_paradox.Objetos.Bala 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));
}
}
use of mx.itesm.another_monkey_paradox.Objetos.Bala in project AnotherMonekyParadox by SantiagoMille.
the class PantallaJuego 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);
}
}
}
}
use of mx.itesm.another_monkey_paradox.Objetos.Bala in project AnotherMonekyParadox by SantiagoMille.
the class PantallaJuego2 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);
}
verificarColisionBalaEnemigo(stateTime, difficulty, 2);
verificarColisionBalaBala(stateTime);
verificarColisionGranadaEnemigo(stateTime);
verificarColisionBalaBoss(stateTime);
verificarColisionGranadaBoss(stateTime);
verificarColisionPersonajeBalaBoss(stateTime);
verificarColisionPersonajeItemBoss();
verificarColisionPersonajeItemGranada();
cuentaVidas = verificarColisionPersonajeItemVida(cuentaVidas);
verificarVidaAstro();
timeSinceCollision += dt;
System.out.println("TimeSinceCollision: " + timeSinceCollision);
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 NivelGenerico method verificarColisionBalaRuso.
protected void verificarColisionBalaRuso(float dt, float diff, int difDelNivel) {
if (diff < 0.2)
diff = 0.3f;
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() + 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);
}
verificarVidaEnemigos();
}
}
}
Aggregations