List of usage examples for com.badlogic.gdx.graphics.g2d ParticleEmitter setPosition
public void setPosition(float x, float y)
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); } } }