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

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

Introduction

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

Prototype

public void setPosition(float x, float y) 

Source Link

Usage

From source file:com.lynk.gdx.tool.particleeditor.EffectPanel.java

License:Apache License

private void addEmitter(String name, boolean select, final ParticleEmitter emitter) {
    Array<ParticleEmitter> emitters = editor.effect.getEmitters();
    if (emitters.size == 0)
        emitter.setPosition(editor.worldCamera.viewportWidth / 2, editor.worldCamera.viewportHeight / 2);
    else {/*from www . j  ava2  s .  c o  m*/
        ParticleEmitter p = emitters.get(0);
        emitter.setPosition(p.getX(), p.getY());
    }
    emitters.add(emitter);

    emitterTableModel.addRow(new Object[] { name, true });
    if (select) {
        editor.reloadRows();
        int row = emitterTableModel.getRowCount() - 1;
        emitterTable.getSelectionModel().setSelectionInterval(row, row);
    }
}

From source file:com.lynk.gdx.tool.particleeditor.EffectPanel.java

License:Apache License

void openEffect(boolean mergeIntoCurrent) {
    FileDialog dialog = new FileDialog(editor, "Open Effect", FileDialog.LOAD);
    if (lastDir != null)
        dialog.setDirectory(lastDir);/*from   ww w .  j a v a2s .  co  m*/
    dialog.setVisible(true);
    final String file = dialog.getFile();
    final String dir = dialog.getDirectory();
    if (dir == null || file == null || file.trim().length() == 0)
        return;
    lastDir = dir;
    ParticleEffect effect = new ParticleEffect();
    try {
        File effectFile = new File(dir, file);
        effect.loadEmitters(Gdx.files.absolute(effectFile.getAbsolutePath()));
        if (mergeIntoCurrent) {
            for (ParticleEmitter emitter : effect.getEmitters()) {
                addEmitter(emitter.getName(), false, emitter);
            }
        } else {
            editor.effect = effect;
            editor.effectFile = effectFile;
        }
        emitterTableModel.getDataVector().removeAllElements();
        editor.particleData.clear();
    } catch (Exception ex) {
        System.out.println("Error loading effect: " + new File(dir, file).getAbsolutePath());
        ex.printStackTrace();
        JOptionPane.showMessageDialog(editor, "Error opening effect.");
        return;
    }
    for (ParticleEmitter emitter : editor.effect.getEmitters()) {
        emitter.setPosition(editor.worldCamera.viewportWidth / 2, editor.worldCamera.viewportHeight / 2);
        emitterTableModel.addRow(new Object[] { emitter.getName(), true });
    }
    editIndex = 0;
    emitterTable.getSelectionModel().setSelectionInterval(editIndex, editIndex);
    editor.reloadRows();
}

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

License:Apache License

private void translateParticles(float x, float y, Array<ParticleEmitter> emit) {
    for (int i = 0, n = emit.size; i < n; i++) {
        ParticleEmitter e = emit.get(i);
        if (!e.isAttached()) {
            e.setAttached(true);//  www .ja  v  a 2 s .c o  m
            e.setPosition(x, y);
            e.setAttached(false);
        }
    }
}

From source file:de.hochschuletrier.gdw.ss15.game.systems.GoalEffectRenderSystem.java

@Override
protected void processEntity(Entity entity, float deltaTime) {
    GoalEffectComponent component = ComponentMappers.goalEffect.get(entity);
    PositionComponent pos = ComponentMappers.position.get(entity);
    TeamComponent team = ComponentMappers.team.get(entity);

    if (team.team != this.teamScored)
        return; //emitter belongs to goal of team who scored

    if (!component.started && !this.goalScored)
        return; //no gool scored and nothing to update

    if (component.started && this.goalScored)
        this.goalScored = false; //all emitters have started

    for (ParticleEmitter emitter : component.effect.getEmitters()) {
        if (!emitter.getName().toLowerCase().equals(this.teamScored.name().toLowerCase())) {
            //gool scored but emitter not started
            if (!component.started) {
                emitter.setPosition(pos.x, pos.y);
                emitter.reset();/*from  w  w w  .  java 2s. c  o m*/
                emitter.start();
                component.started = true;
            }
            emitter.update(deltaTime);
            emitter.draw(DrawUtil.batch);
            //System.out.println(emitter.getPercentComplete());
            if (emitter.isComplete()) {
                component.started = false;
            }
        }
    }
}

From source file:de.hochschuletrier.gdw.ss15.game.systems.RenderBallAtPlayerSystem.java

@Override
protected void processEntity(Entity entity, float deltaTime) {
    PlayerComponent player = ComponentMappers.player.get(entity);
    if (!player.hasBall)
        return;//from w w w  .j  a  v  a2 s .  c  om

    PositionComponent pos = ComponentMappers.position.get(entity);
    TeamComponent team = ComponentMappers.team.get(entity);
    for (ParticleEmitter emitter : effect.getEmitters()) {
        if (emitter.getName().toLowerCase().equals(team.team.name().toLowerCase())) {
            emitter.setPosition(pos.x, pos.y);
            emitter.start();
            emitter.update(deltaTime);
            emitter.draw(DrawUtil.batch);
        }
    }
}