Example usage for com.badlogic.gdx.backends.android.livewallpaper InputProcessorLW InputProcessorLW

List of usage examples for com.badlogic.gdx.backends.android.livewallpaper InputProcessorLW InputProcessorLW

Introduction

In this page you can find the example usage for com.badlogic.gdx.backends.android.livewallpaper InputProcessorLW InputProcessorLW.

Prototype

InputProcessorLW

Source Link

Usage

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();//from w ww  .  jav a  2 s  .  c o m
    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);
}