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