List of usage examples for com.badlogic.gdx.graphics.g2d ParticleEmitter setMaxParticleCount
public void setMaxParticleCount(int maxParticleCount)
From source file:com.badlogic.gdx.tests.lw.ParticleEmitterTestLW.java
License:Apache License
@Override public void create() { spriteBatch = new SpriteBatch(); effect = new ParticleEffect(); effect.load(Gdx.files.internal("data/test.p"), Gdx.files.internal("data")); effect.setPosition(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2); // Of course, a ParticleEffect is normally just used, without messing around with its emitters. emitters = new Array(effect.getEmitters()); effect.getEmitters().clear();// ww w .ja v a 2s.com effect.getEmitters().add(emitters.get(0)); inputProcessor = new InputProcessorLW() { public boolean touchUp(int x, int y, int pointer, int button) { return false; } public boolean touchDragged(int x, int y, int pointer) { effect.setPosition(x, Gdx.graphics.getHeight() - y); return false; } public boolean touchDown(int x, int y, int pointer, int newParam) { effect.setPosition(x, Gdx.graphics.getHeight() - y); return false; } public boolean keyUp(int keycode) { return false; } public boolean keyTyped(char character) { return false; } public boolean keyDown(int keycode) { ParticleEmitter emitter = emitters.get(emitterIndex); if (keycode == Input.Keys.DPAD_UP) particleCount += 5; else if (keycode == Input.Keys.DPAD_DOWN) particleCount -= 5; else if (keycode == Input.Keys.SPACE) { emitterIndex = (emitterIndex + 1) % emitters.size; emitter = emitters.get(emitterIndex); particleCount = (int) (emitter.getEmission().getHighMax() * emitter.getLife().getHighMax() / 1000f); } else return false; particleCount = Math.max(0, particleCount); if (particleCount > emitter.getMaxParticleCount()) emitter.setMaxParticleCount(particleCount * 2); emitter.getEmission().setHigh(particleCount / emitter.getLife().getHighMax() * 1000); effect.getEmitters().clear(); effect.getEmitters().add(emitter); return false; } @Override public boolean touchMoved(int x, int y) { return false; } @Override public boolean scrolled(int amount) { return false; } @Override public void touchTap(int x, int y) { ParticleEmitter emitter = emitters.get(emitterIndex); // if (keycode == Input.Keys.DPAD_UP) // particleCount += 5; // else if (keycode == Input.Keys.DPAD_DOWN) // particleCount -= 5; // else if (keycode == Input.Keys.SPACE) { emitterIndex = (emitterIndex + 1) % emitters.size; emitter = emitters.get(emitterIndex); particleCount = (int) (emitter.getEmission().getHighMax() * emitter.getLife().getHighMax() / 1000f); // } else // return false; particleCount = Math.max(0, particleCount); if (particleCount > emitter.getMaxParticleCount()) emitter.setMaxParticleCount(particleCount * 2); emitter.getEmission().setHigh(particleCount / emitter.getLife().getHighMax() * 1000); effect.getEmitters().clear(); effect.getEmitters().add(emitter); effect.setPosition(x, Gdx.graphics.getHeight() - y); } @Override public void touchDrop(int x, int y) { // TODO Auto-generated method stub } }; Gdx.input.setInputProcessor(inputProcessor); }
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 av a 2s . 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);//from w w w.j av a 2s . c o m 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:de.bitbrain.craft.graphics.ParticleRenderer.java
License:Open Source License
public void setParticleCount(ParticleEffect effect, int count) { for (ParticleEmitter emitter : effect.getEmitters()) { emitter.setMaxParticleCount(count); }//from w ww . j av a 2s . c om }
From source file:de.myreality.acidsnake.graphics.ParticleRenderer.java
License:Open Source License
@Override public void onEnterPosition(int indexX, int indexY, Snake snake) { if (snakeEffect == null) { snakeEffect = particleManager.create(Resources.PARTICLE_FIELD_GREEN, true); for (ParticleEmitter emitter : snakeEffect.getEmitters()) { emitter.setMaxParticleCount(emitter.getMaxParticleCount() / 2); }/* w ww . j av a 2s . com*/ snakeEffect.start(); } alignOnIndex(indexX, indexY, snakeEffect); }
From source file:de.myreality.acidsnake.graphics.ParticleRenderer.java
License:Open Source License
@Override public void onCollide(int indexX, int indexY, Snake snake, WorldEntity target) { ParticleEffect explodeEffect = target.getType().getExplodeEffect(); if (explodeEffect != null) { ParticleEffect effect = particleManager.create(explodeEffect, false); alignOnIndex(indexX, indexY, effect); for (ParticleEmitter emitter : effect.getEmitters()) { emitter.setMaxParticleCount( emitter.getMaxParticleCount() / target.getType().getParticleDecreaseFactor()); }//from w w w .java 2s . c o m effect.start(); } }