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;
}
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());
}
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;
}
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());
}
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));
}
}
Aggregations