package org.test; import loon.LSystem; import loon.LTexture; import loon.LTextures; import loon.LTransition; import loon.Screen; import loon.event.GameTouch; import loon.opengl.GLEx; import loon.particle.SimpleConfigurableEmitter; import loon.particle.SimpleParticleConfig; import loon.particle.SimpleParticleSystem; import loon.utils.timer.LTimerContext; public class ParticleConfigTest extends Screen { private LTexture image; private SimpleParticleSystem trail; private SimpleParticleSystem fire; private float rx = 100; private float ry = 200; @Override public LTransition onTransition() { return LTransition.newEmpty(); } @Override public void draw(GLEx g) { if (isOnLoadComplete()) { ((SimpleConfigurableEmitter) trail.getEmitter(0)).setPosition( rx + 14, ry + 35); trail.setPosition(rx + 14, ry + 35); trail.render(g); image.draw(rx-10, ry - 40); fire.setPosition(rx + 14, ry + 35); fire.render(g); } } @Override public void onLoad() { try { fire = SimpleParticleConfig.loadConfiguredSystem("system.xml"); fire.setBlendingState(LSystem.MODE_ALPHA_ONE); trail = SimpleParticleConfig.loadConfiguredSystem("smoketrail.xml"); trail.setBlendingState(LSystem.MODE_ALPHA_ONE); image = LTextures.loadTexture("rocket.png"); } catch (Exception ex) { ex.printStackTrace(); } add(MultiScreenTest.getBackButton(this,0)); } @Override public void alter(LTimerContext timer) { if (isOnLoadComplete()) { long delta = timer.timeSinceLastUpdate; fire.update(delta); trail.update(delta); } } @Override public void resize(int width, int height) { } @Override public void touchDown(GameTouch e) { if (isOnLoadComplete()) { fire.reset(); trail.reset(); rx = e.x(); ry = e.y(); } } @Override public void touchUp(GameTouch e) { } @Override public void touchMove(GameTouch e) { } @Override public void touchDrag(GameTouch e) { } @Override public void resume() { } @Override public void pause() { } @Override public void close() { } }