Add explosion particle effect
This commit is contained in:
parent
fcbb0aeb2c
commit
cca8677a99
@ -1,6 +1,9 @@
|
||||
package com.annimon.influencexxii;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.g2d.ParticleEffect;
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
|
||||
import com.badlogic.gdx.math.MathUtils;
|
||||
@ -13,9 +16,13 @@ public class EnemiesController {
|
||||
private Array<Enemy> enemies;
|
||||
private int difficultMode;
|
||||
|
||||
private ParticleEffect explosion;
|
||||
|
||||
public EnemiesController() {
|
||||
enemies = new Array<Enemy>();
|
||||
difficultMode = 0;
|
||||
explosion = new ParticleEffect();
|
||||
explosion.load(Gdx.files.internal("data/explosion.p"), Gdx.files.internal("data"));
|
||||
}
|
||||
|
||||
public void setScreenParameters(float width, float height) {
|
||||
@ -23,12 +30,16 @@ public class EnemiesController {
|
||||
screenHeight = height;
|
||||
}
|
||||
|
||||
public void draw(ShapeRenderer renderer) {
|
||||
public void draw(SpriteBatch batch, ShapeRenderer renderer) {
|
||||
renderer.begin(ShapeType.Filled);
|
||||
for (Enemy enemy : enemies) {
|
||||
enemy.draw(renderer);
|
||||
}
|
||||
renderer.end();
|
||||
// Draw explosion
|
||||
batch.begin();
|
||||
explosion.draw(batch, Gdx.graphics.getDeltaTime());
|
||||
batch.end();
|
||||
}
|
||||
|
||||
public void addEnemy() {
|
||||
@ -47,6 +58,8 @@ public class EnemiesController {
|
||||
public void killEnemy(float x, float y) {
|
||||
for (int i = 0; i < enemies.size; i++) {
|
||||
if (enemies.get(i).isCollide(x, y)) {
|
||||
explosion.setPosition(x, y);
|
||||
explosion.start();
|
||||
Score.add();
|
||||
difficultMode = Score.getDifficultMode();
|
||||
enemies.set(i, generateNewEnemy());
|
||||
|
@ -26,6 +26,7 @@ public class InfluenceXXII implements ApplicationListener {
|
||||
|
||||
renderer = new ShapeRenderer();
|
||||
font = new BitmapFont(Gdx.files.internal("data/font16.fnt"), false);
|
||||
font.setScale(1.5f);
|
||||
font.setColor(new Color(0.23f, 0.38f, 1f, 0.81f));
|
||||
spriteBatch = new SpriteBatch();
|
||||
background = DrawUtils.random2Color(0, 0x22);
|
||||
@ -60,7 +61,7 @@ public class InfluenceXXII implements ApplicationListener {
|
||||
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
|
||||
|
||||
// Draw enemies
|
||||
enemies.draw(renderer);
|
||||
enemies.draw(spriteBatch, renderer);
|
||||
|
||||
// Draw pointer
|
||||
pointer.draw(renderer);
|
||||
|
Loading…
Reference in New Issue
Block a user