List of usage examples for com.badlogic.gdx.graphics.g2d ParticleEmitter setImagePath
public void setImagePath(String imagePath)
From source file:com.lynk.gdx.tool.particleeditor.EffectPanel.java
License:Apache License
public ParticleEmitter newEmitter(String name, boolean select) { final ParticleEmitter emitter = new ParticleEmitter(); emitter.getDuration().setLow(1000);/*w w w .j a va2 s . c o m*/ emitter.getEmission().setHigh(50); emitter.getLife().setHigh(500); emitter.getScale().setHigh(32, 32); emitter.getTint().setColors(new float[] { 1, 0.12156863f, 0.047058824f }); emitter.getTransparency().setHigh(1); emitter.setMaxParticleCount(25); emitter.setImagePath(ParticleEditor.DEFAULT_PARTICLE); addEmitter(name, select, emitter); return emitter; }
From source file:com.lynk.gdx.tool.particleeditor.EffectPanel.java
License:Apache License
public ParticleEmitter newExampleEmitter(String name, boolean select) { final ParticleEmitter emitter = new ParticleEmitter(); emitter.getDuration().setLow(3000);/*w w w . j av a 2 s. com*/ emitter.getEmission().setHigh(250); emitter.getLife().setHigh(500, 1000); emitter.getLife().setTimeline(new float[] { 0, 0.66f, 1 }); emitter.getLife().setScaling(new float[] { 1, 1, 0.3f }); emitter.getScale().setHigh(32, 32); emitter.getRotation().setLow(1, 360); emitter.getRotation().setHigh(180, 180); emitter.getRotation().setTimeline(new float[] { 0, 1 }); emitter.getRotation().setScaling(new float[] { 0, 1 }); emitter.getRotation().setRelative(true); emitter.getAngle().setHigh(45, 135); emitter.getAngle().setLow(90); emitter.getAngle().setTimeline(new float[] { 0, 0.5f, 1 }); emitter.getAngle().setScaling(new float[] { 1, 0, 0 }); emitter.getAngle().setActive(true); emitter.getVelocity().setHigh(30, 300); emitter.getVelocity().setActive(true); emitter.getTint().setColors(new float[] { 1, 0.12156863f, 0.047058824f }); emitter.getTransparency().setHigh(1, 1); emitter.getTransparency().setTimeline(new float[] { 0, 0.2f, 0.8f, 1 }); emitter.getTransparency().setScaling(new float[] { 0, 1, 0.75f, 0 }); emitter.setMaxParticleCount(200); emitter.setImagePath(ParticleEditor.DEFAULT_PARTICLE); addEmitter(name, select, emitter); return emitter; }
From source file:com.lynk.gdx.tool.particleeditor.EffectPanel.java
License:Apache License
void saveEffect() { FileDialog dialog = new FileDialog(editor, "Save Effect", FileDialog.SAVE); if (lastDir != null) dialog.setDirectory(lastDir);/* w w w. ja va 2s .co m*/ dialog.setVisible(true); String file = dialog.getFile(); String dir = dialog.getDirectory(); if (dir == null || file == null || file.trim().length() == 0) return; lastDir = dir; int index = 0; File effectFile = new File(dir, file); // save each image path as relative path to effect file directory URI effectDirUri = effectFile.getParentFile().toURI(); for (ParticleEmitter emitter : editor.effect.getEmitters()) { emitter.setName((String) emitterTableModel.getValueAt(index++, 0)); String imagePath = emitter.getImagePath(); if ((imagePath.contains("/") || imagePath.contains("\\")) && !imagePath.contains("..")) { // it's absolute, make it relative: URI imageUri = new File(emitter.getImagePath()).toURI(); emitter.setImagePath(effectDirUri.relativize(imageUri).getPath()); } } File outputFile = new File(dir, file); Writer fileWriter = null; try { fileWriter = new FileWriter(outputFile); editor.effect.save(fileWriter); } catch (Exception ex) { System.out.println("Error saving effect: " + outputFile.getAbsolutePath()); ex.printStackTrace(); JOptionPane.showMessageDialog(editor, "Error saving effect."); } finally { StreamUtils.closeQuietly(fileWriter); } }
From source file:com.lynk.gdx.tool.particleeditor.ImagePanel.java
License:Apache License
public ImagePanel(final ParticleEditor editor, String name, String description) { super(null, name, description); JPanel contentPanel = getContentPanel(); {/*w w w. ja va 2 s . c o m*/ JButton openButton = new JButton("Open"); contentPanel.add(openButton, new GridBagConstraints(2, 1, 1, 1, 0, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 6), 0, 0)); openButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { FileDialog dialog = new FileDialog(editor, "Open Image", FileDialog.LOAD); if (lastDir != null) dialog.setDirectory(lastDir); 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; try { ImageIcon icon = new ImageIcon(new File(dir, file).toURI().toURL()); final ParticleEmitter emitter = editor.getEmitter(); editor.setIcon(emitter, icon); updateIconInfo(icon); emitter.setImagePath(new File(dir, file).getAbsolutePath()); emitter.setSprite(null); } catch (Exception ex) { ex.printStackTrace(); } } }); } { JButton defaultButton = new JButton("Default"); contentPanel.add(defaultButton, new GridBagConstraints(2, 2, 1, 1, 0, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 6), 0, 0)); defaultButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final ParticleEmitter emitter = editor.getEmitter(); emitter.setImagePath(ParticleEditor.DEFAULT_PARTICLE); emitter.setSprite(null); editor.setIcon(emitter, null); updateIconInfo(null); } }); JButton defaultPremultButton = new JButton("Default (Premultiplied Alpha)"); contentPanel.add(defaultPremultButton, new GridBagConstraints(3, 2, 1, 1, 0, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 6), 0, 0)); defaultPremultButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final ParticleEmitter emitter = editor.getEmitter(); emitter.setImagePath(ParticleEditor.DEFAULT_PREMULT_PARTICLE); emitter.setSprite(null); editor.setIcon(emitter, null); updateIconInfo(null); } }); } { widthLabel = new JLabel(); contentPanel.add(widthLabel, new GridBagConstraints(2, 3, 1, 1, 0, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 6, 6), 0, 0)); } { heightLabel = new JLabel(); contentPanel.add(heightLabel, new GridBagConstraints(2, 4, 1, 1, 0, 1, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 6), 0, 0)); } { imageLabel = new JLabel(); contentPanel.add(imageLabel, new GridBagConstraints(3, 1, 1, 3, 1, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 6, 0, 0), 0, 0)); } updateIconInfo(editor.getIcon(editor.getEmitter())); }
From source file:com.westernarc.easterrun.gdx.graphics.g2d.ParticleEffect.java
License:Apache License
public void loadEmitters(FileHandle effectFile) { InputStream input = effectFile.read(); emitters.clear();//from ww w . j av a 2 s .co m BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(input), 512); while (true) { ParticleEmitter emitter = new ParticleEmitter(reader); reader.readLine(); emitter.setImagePath(reader.readLine()); emitters.add(emitter); if (reader.readLine() == null) break; if (reader.readLine() == null) break; } } catch (IOException ex) { throw new GdxRuntimeException("Error loading effect: " + effectFile, ex); } finally { try { if (reader != null) reader.close(); } catch (IOException ex) { } } }