Example usage for com.badlogic.gdx.graphics.g2d ParticleEffect setPosition

List of usage examples for com.badlogic.gdx.graphics.g2d ParticleEffect setPosition

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.g2d ParticleEffect setPosition.

Prototype

public void setPosition(float x, float y) 

Source Link

Usage

From source file:at.therefactory.jewelthief.ui.Particles.java

License:Open Source License

/**
 * Resets the position, start color and duration of the given firework effects to random values.
 *
 * @param effect// w w w. j  a  v a  2s . c  om
 */
private void resetFireworksEffect(ParticleEffect effect) {
    effect.reset();
    effect.setDuration(Utils.randomWithin(180, 250));
    effect.setPosition(Utils.randomWithin(0, WINDOW_WIDTH), Utils.randomWithin(0, WINDOW_HEIGHT));
    float[] colors = effect.getEmitters().get(0).getTint().getColors();
    int randomStartColor = Utils.randomWithin(0, startColors.length - 1);
    for (int i = 0; i < 6; i++) {
        colors[i] = startColors[randomStartColor][i % 3];
    }
    for (ParticleEmitter emitter : effect.getEmitters()) {
        emitter.getTint().setColors(colors);
    }
}

From source file:com.kotcrab.vis.editor.scene.ParticleObject.java

License:Apache License

public void onDeserialize(ParticleEffect effect, float x, float y) {
    this.effect = effect;
    effect.setPosition(x, y);
}

From source file:com.ridiculousRPG.event.EventObject.java

License:Apache License

private ParticleEffect loadParticleEffect(final FileHandle fh) {
    final ParticleEffect effect = new ParticleEffect();
    new ExecWithGlContext() {
        @Override/* w  w  w .  j a v a 2  s  .c  om*/
        public void exec() {
            effect.load(fh, fh.parent());
        }
    }.runWait();
    effect.setPosition(drawBound.x + drawBound.width * .5f, drawBound.y);
    visible = true;
    return effect;
}

From source file:de.myreality.acidsnake.graphics.ParticleRenderer.java

License:Open Source License

private void alignOnIndex(int indexX, int indexY, ParticleEffect effect) {
    if (effect != null) {
        effect.setPosition(cellManager.translateIndexX(indexX) + cellManager.getCellSize() / 2f,
                Gdx.graphics.getHeight() - indexY * cellManager.getCellSize() - cellManager.getCellSize() / 2f);
    }/*from w w  w.j a va  2  s .  com*/
}

From source file:de.myreality.plox.graphics.ParticleRenderer.java

License:Open Source License

@Override
public void onRemove(GameObject object) {
    ParticleEffect effect = effects.remove(object);
    particleCounts.remove(object);/*from   w  w  w  . j  a v  a  2  s . co  m*/

    if (effect != null) {
        particleManager.setEndless(effect, false);
        effect.setDuration(0);

        if (object.getType().equals(GameObjectType.POWERUP)) {
            particleManager.unload(effect);
        } else if (!object.getType().equals(GameObjectType.SHOT)) {
            ParticleEffect eff = Resources.get(Resources.PARTICLES_EXPLOSION, ParticleEffect.class);
            particleManager.unload(effect);
            effect = particleManager.create(eff, false);
            particleManager.setParticleCount(effect, 50);
            effect.setPosition(object.getCenterX(), object.getCenterY());
            effect.start();
        } else if (!ScreenUtils.isOutOfScreen(object)) {
            ParticleEffect eff = Resources.get(Resources.PARTICLES_EXPLOSION_SMALL, ParticleEffect.class);
            effect = particleManager.create(eff, false);
            effect.setPosition(object.getCenterX(), object.getCenterY());
            particleManager.setEndless(effect, false);
            effect.start();
        }
    }
}

From source file:de.myreality.plox.graphics.ParticleRenderer.java

License:Open Source License

@Override
public void onMove(GameObject object) {
    ParticleEffect effect = effects.get(object);
    Integer count = particleCounts.get(object);
    if (effect != null) {

        if (object.isIced()) {
            if (particleManager.getParticleCount(effect) == count) {
                particleManager.setParticleCount(effect, count / 20);
            }/*from  w ww . j ava2 s  .c om*/
        } else {
            if (particleManager.getParticleCount(effect) != count) {
                particleManager.setParticleCount(effect, count);
            }
        }

        if (object.getType().equals(GameObjectType.ALIEN)) {
            effect.setPosition(object.getCenterX(), object.getCenterY() + object.getHeight() / 3f);
        } else {
            effect.setPosition(object.getCenterX(), object.getCenterY());
        }
    }
}

From source file:de.myreality.plox.graphics.ParticleRenderer.java

License:Open Source License

@Override
public void onAdd(GameObject object) {
    if (object.getType().equals(GameObjectType.ALIEN)) {
        ParticleEffect eff = Resources.get(Resources.PARTICLES_BLUE, ParticleEffect.class);
        ParticleEffect effect = particleManager.create(eff, true);
        effect.setPosition(object.getCenterX(), object.getCenterY() + object.getHeight() / 3f);
        effects.put(object, effect);//w w  w. j  a  va  2 s. co m
        particleCounts.put(object, particleManager.getParticleCount(effect));
    }

    if (object.getType().equals(GameObjectType.PLAYER)) {
        ParticleEffect eff = Resources.get(Resources.PARTICLES_SHOT, ParticleEffect.class);
        ParticleEffect effect = particleManager.create(eff, true);
        effect.setPosition(object.getCenterX(), object.getCenterY());
        effects.put(object, effect);
        particleCounts.put(object, particleManager.getParticleCount(effect));
    } else

    if (object.getType().equals(GameObjectType.SHOT)) {
        ParticleEffect eff = Resources.get(Resources.PARTICLES_SHOT, ParticleEffect.class);
        ParticleEffect effect = particleManager.create(eff, true);
        effect.setPosition(object.getCenterX(), object.getCenterY());
        effects.put(object, effect);
        particleCounts.put(object, particleManager.getParticleCount(effect));
    } else

    if (object.getType().equals(GameObjectType.POWERUP)) {
        ParticleEffect eff = Resources.get(Resources.PARTICLES_POWERUP, ParticleEffect.class);
        ParticleEffect effect = particleManager.create(eff, true);
        effect.setPosition(object.getCenterX(), object.getCenterY());

        particleCounts.put(object, particleManager.getParticleCount(effect));
        effects.put(object, effect);

        // Change particle color
        PowerUp up = (PowerUp) object;
        float[] colors = up.getStrategy().getColors();
        float[] timeline = new float[] { 0.0f, 0.4f, 0.8f };
        if (colors != null) {
            particleManager.setColor(effect, colors, timeline);
        }
    }
}

From source file:net.ivang.axonix.main.actors.game.level.blocks.BlocksParticlesHolder.java

License:Apache License

@Subscribe
@SuppressWarnings("unused")
public void onBlockDestruction(DestroyBlockIntent intent) {
    ParticleEffect effect = null;
    // get some idle effect
    for (ParticleEffect particleEffect : particleEffects) {
        if (particleEffect.isComplete()) {
            effect = particleEffect;/*  w w w  .ja  v  a2  s  . c om*/
            break;
        }
    }
    // or create new one
    if (effect == null) {
        effect = new ParticleEffect();
        effect.load(Gdx.files.internal("data/particles/block_blue.p"), skin.getAtlas());
        particleEffects.add(effect);
    }
    // and (re)run it
    Block block = intent.getBlock();
    effect.setPosition(block.getX() + 0.5f, block.getY() + 0.5f);
    effect.reset();
}

From source file:org.lightjason.examples.pokemon.ui.CParticleSystem.java

License:LGPL

/**
 * runs the particel effect immediatly/*from   w  w  w . j a v  a 2 s  .c  o  m*/
 *
 * @param p_name name effect
 * @param p_position emitter position
 * @return self reference
 */
public final CParticleSystem execute(final String p_name, final DoubleMatrix1D p_position) {
    final ParticleEffect l_base = m_effects.get(CParticleSystem.name(p_name));
    if (l_base == null)
        throw new RuntimeException(MessageFormat.format("particle effect [{0}] not found", p_name));

    final ParticleEffect l_effect = new ParticleEffect(l_base);
    l_effect.setPosition((float) p_position.getQuick(1), (float) p_position.getQuick(0));
    m_active.add(l_effect);
    l_effect.reset();
    l_effect.start();
    return this;
}