Example usage for com.badlogic.gdx.scenes.scene2d InputEvent getType

List of usage examples for com.badlogic.gdx.scenes.scene2d InputEvent getType

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d InputEvent getType.

Prototype

public Type getType() 

Source Link

Document

The type of input event.

Usage

From source file:broken.shotgun.throwthemoon.stages.GameStage.java

License:Open Source License

public GameStage(final AssetManager manager) {
    super(new StretchViewport(WIDTH, HEIGHT));

    this.manager = manager;

    loadLevel();/*from   w  w w .  ja  v a 2 s  .  co m*/

    loadSounds();

    loadFont();

    random = new Random(System.currentTimeMillis());
    fadingOut = false;

    background = new Background(manager);
    chain = new MoonChain(manager);
    player = new Player(manager);
    moon = new Moon(manager);

    moonImpactMeter = new MoonImpactMeter(moon);

    screenFadeActor = new Actor();
    screenFadeActor.setBounds(0, 0, WIDTH, HEIGHT);
    screenFadeActor.setColor(Color.CLEAR);

    levelDebugRenderer = new LevelDebugRenderer();
    screenLogger = new StringBuilder();

    uiBatch = new SpriteBatch();
    renderer = new ShapeRenderer();
    renderer.setAutoShapeType(true);

    touchPoint = new Vector2();

    resetLevel();

    debug = isDebug();
    setDebugAll(debug);

    Gdx.input.setInputProcessor(this);

    addListener(new ActorGestureListener() {
        @Override
        public void touchDown(InputEvent event, float x, float y, int pointer, int button) {
            if (pointer == 0 && !(event.getTarget() instanceof Enemy || event.getTarget() instanceof Boss
                    || (boss != null && event.getTarget() instanceof MoonChain))) {
                player.moveTo(touchPoint.set(x, y));
            }

            // FIXME replace String.format with StringBuilder for HTML
            if (isDebug())
                Gdx.app.log("GameStage", String.format("touchDown %s %s", event.getType().toString(),
                        event.getTarget().toString()));
            super.touchDown(event, x, y, pointer, button);
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            if (pointer == 0 && player.isWalking()) {
                player.stop();
            }
            super.touchUp(event, x, y, pointer, button);
        }

        @Override
        public void pan(InputEvent event, float x, float y, float deltaX, float deltaY) {
            if (boss == null || (boss != null && !(event.getTarget() instanceof MoonChain))) {
                player.moveTo(touchPoint.set(x, y));
            }

            super.pan(event, x, y, deltaX, deltaY);
        }

        @Override
        public void tap(InputEvent event, float x, float y, int count, int button) {
            player.performAttack(count);

            float deltaX = ((player.getX() + player.getOriginX()) - x);
            player.setFlipX(deltaX > 0);

            // FIXME replace String.format with StringBuilder for HTML
            if (isDebug()) {
                Actor target = event.getTarget();
                Gdx.app.log("GameStage",
                        String.format("tap type:%s target:%s [target x=%.2f y=%.2f] count:%d [x:%.2f, y:%.2f]",
                                event.getType().toString(), target.toString(), target.getX(), target.getY(),
                                count, x, y));
            }
            super.tap(event, x, y, count, button);
        }

        @Override
        public void fling(InputEvent event, float velocityX, float velocityY, int button) {
            Gdx.app.log("GameStage",
                    String.format("fling velocityX:%.2f velocityY:%.2f", velocityX, velocityY));
            if (player.isMoonThrowEnabled() && velocityY < 0 && chain.isAttached()
                    && event.getTarget() instanceof MoonChain) {
                int multiplier = (boss != null && boss.isDefeated()) ? 10 : 2;
                moon.addDistance(velocityY * multiplier);
                chain.animatePull();
            }
            super.fling(event, velocityX, velocityY, button);
        }

    });

    addListener(new InputListener() {
        int attackCounter = 0;

        @Override
        public boolean keyDown(InputEvent event, int keycode) {
            switch (keycode) {
            case Input.Keys.D:
                if (debug && player.isMoonThrowEnabled() && !moon.isFalling()) {
                    moon.startFalling();
                }
                break;
            case Input.Keys.K:
                if (debug) {
                    clearAllEnemies();
                }
                break;
            case Input.Keys.SPACE:
                attackCounter++;
                player.performAttack(attackCounter);
                return true;
            case Input.Keys.LEFT:
                player.velocity.x = -7;
                player.startWalkState();
                return true;
            case Input.Keys.RIGHT:
                player.velocity.x = 7;
                player.startWalkState();
                return true;
            case Input.Keys.UP:
                player.velocity.y = 7;
                player.startWalkState();
                return true;
            case Input.Keys.DOWN:
                player.velocity.y = -7;
                player.startWalkState();
                return true;
            }

            return super.keyDown(event, keycode);
        }

        @Override
        public boolean keyUp(InputEvent event, int keycode) {
            switch (keycode) {
            case Input.Keys.LEFT:
            case Input.Keys.RIGHT:
                player.velocity.x = 0;
                return true;
            case Input.Keys.UP:
            case Input.Keys.DOWN:
                player.velocity.y = 0;
                return true;
            }
            return super.keyUp(event, keycode);
        }
    });
}

From source file:com.blastedstudios.gdxworld.util.ui.Scene2DUtils.java

License:Apache License

/** @see #copy(Event, Event)  */
public static void copy(InputEvent c, InputEvent e) {
    copy((Event) c, e);//  w ww .  j  a v  a2 s  .c  o m
    c.setStageX(e.getStageX());
    c.setStageY(e.getStageY());
    c.setButton(e.getButton());
    c.setCharacter(e.getCharacter());
    c.setKeyCode(e.getKeyCode());
    c.setPointer(e.getPointer());
    c.setType(e.getType());
    c.setRelatedActor(e.getRelatedActor());
    c.setScrollAmount(e.getScrollAmount());
}

From source file:com.o2d.pkayjava.editor.event.KeyboardListener.java

License:Apache License

private void handleInputListener(InputEvent event) {
    switch (event.getType()) {
    case keyUp:/*from   ww  w .  j  a v a2 s .  co  m*/
        if (event.getKeyCode() == Input.Keys.ENTER) {
            keyboardHandler((VisTextField) event.getTarget());
            VisTextField field = (VisTextField) event.getTarget();
            lastValue = field.getText();
        }
        break;
    }
}

From source file:com.stercore.code.net.dermetfan.utils.libgdx.scene2d.ui.ContextMenu.java

License:Apache License

/** {@link #show(Event) Shows} on right click and menu key press. Hides on left click, escape key and back key.
 *    Note that this will not hide on clicks on other actors except the {@link Event#getListenerActor()}'s children. */
@Override/*  w w w  .  jav a  2s .  c  o m*/
public boolean handle(Event e) {
    if (!(e instanceof InputEvent))
        return false;
    InputEvent event = (InputEvent) e;
    switch (event.getType()) {
    case touchDown:
        return event.getButton() == Buttons.RIGHT ? show(event) : hide(event); // right shows, left hides
    case keyDown:
        if (event.getKeyCode() == Keys.MENU) // menu key shows
            return show(event);
        else if (event.getKeyCode() == Keys.ESCAPE || event.getKeyCode() == Keys.BACK) // escape and back hide
            return hide(event);
    }
    return false;
}

From source file:com.stercore.code.net.dermetfan.utils.libgdx.scene2d.ui.Tooltip.java

License:Apache License

@Override
public boolean handle(Event e) {
    if (!(e instanceof InputEvent))
        return false;
    InputEvent event = (InputEvent) e;

    if (event.getRelatedActor() == getPopup())
        return false;

    Type type = event.getType();
    int flag = mask << type.ordinal();

    if (positionOnMouseMoved && type == mouseMoved) {
        Vector2 pos = getPosition().apply(event);
        if (getPopup().hasParent())
            Scene2DUtils.stageToLocalCoordinates(pos, getPopup().getParent());
        getPopup().setPosition(pos.x, pos.y);
    }//from  w w w.j  a va  2 s.  co  m

    if ((cancelFlags & flag) == flag)
        showTask.cancel();

    if ((hideFlags & flag) == flag) {
        Scene2DUtils.copy(hideTask.event, event);
        if (hideDelay > 0) {
            if (!hideTask.isScheduled())
                Timer.schedule(hideTask, hideDelay);
        } else
            hideTask.run();
    }

    if ((showFlags & flag) == flag) {
        Scene2DUtils.copy(showTask.event, event);
        if (showDelay > 0) {
            if (!showTask.isScheduled())
                Timer.schedule(showTask, showDelay);
        } else
            showTask.run();
    }
    return false;
}

From source file:com.strategames.engine.scenes.scene2d.ui.EventHandler.java

License:Open Source License

@Override
public boolean handle(Event e) {

    if (!(e instanceof InputEvent))
        return false;
    InputEvent event = (InputEvent) e;

    switch (event.getType()) {
    case touchDown:
        touchDown(event);/*from  www.jav a 2  s  .  c o m*/
        return true;
    case touchUp:
        touchUp(event);
        return true;
    case touchDragged:
        touchDragged(event);
        return true;
    default:
        return false;
    }
}

From source file:com.strategames.engine.scenes.scene2d.ui.Table.java

License:Open Source License

@Override
public boolean handle(Event e) {
    if (!(e instanceof InputEvent))
        return false;
    InputEvent event = (InputEvent) e;
    Actor actor;/*  ww  w  . jav a 2s  . co  m*/
    //      Gdx.app.log("GridLayout", "handle: event="+event.getType().name());
    switch (event.getType()) {
    case touchDown:
        actor = hit(event.getStageX(), event.getStageY(), false);
        if (actor == null) {
            return false;
        }

        if (actor instanceof Label) {
            Label label = (Label) actor;
        }
        return true;
    case touchUp:
        actor = hit(event.getStageX(), event.getStageY(), false);
        if (actor == null) {
            return false;
        }

        if (actor instanceof Label) {
            Label label = (Label) actor;
        }
        return true;
    default:
        return false;
    }
}

From source file:de.longri.cachebox3.gui.activities.Settings_Activity.java

License:Open Source License

private ListViewItem getCategoryItem(int listIndex,
        final de.longri.cachebox3.settings.types.SettingCategory category) {
    ListViewItem table = new ListViewItem(listIndex) {
        @Override//  w ww  .j  av a  2 s .c  o m
        public void dispose() {
        }
    };

    // add label with category name, align left
    table.left();
    VisLabel label = new VisLabel(category.name());
    label.setAlignment(Align.left);
    table.add(label).pad(CB.scaledSizes.MARGIN).expandX().fillX();

    // add next icon
    Image next = new Image(style.nextIcon);
    table.add(next).width(next.getWidth()).pad(CB.scaledSizes.MARGIN / 2);

    // add clicklistener
    table.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            if (event.getType() == InputEvent.Type.touchUp) {
                showCategory(category, true);
            }
        }
    });
    return table;
}

From source file:de.longri.cachebox3.gui.activities.Settings_Activity.java

License:Open Source License

private ListViewItem getFloatView(int listIndex,
        final de.longri.cachebox3.settings.types.SettingFloat setting) {
    final VisLabel valueLabel = new VisLabel(Float.toString(setting.getValue()), valueStyle);
    ListViewItem table = getNumericItemTable(listIndex, valueLabel, setting);

    // add clickListener
    table.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            if (event.getType() == InputEvent.Type.touchUp) {
                new NumericInput_Activity<Float>(setting.getValue()) {
                    public void returnValue(Float value) {
                        setting.setValue(value);
                        WidgetGroup group = listViews.peek();
                        for (Actor actor : group.getChildren()) {
                            if (actor instanceof ListView) {
                                final ListView listView = (ListView) actor;
                                final float scrollPos = listView.getScrollPos();
                                listView.layout(FORCE);
                                Gdx.app.postRunnable(new Runnable() {
                                    @Override
                                    public void run() {
                                        listView.setScrollPos(scrollPos);
                                    }/*from   w  w w. j a  v  a  2s. c  o m*/
                                });

                            }
                        }
                    }
                }.show();
            }
        }
    });

    return table;
}

From source file:de.longri.cachebox3.gui.activities.Settings_Activity.java

License:Open Source License

private ListViewItem getDblView(int listIndex, final de.longri.cachebox3.settings.types.SettingDouble setting) {
    final VisLabel valueLabel = new VisLabel(Double.toString(setting.getValue()), valueStyle);
    ListViewItem table = getNumericItemTable(listIndex, valueLabel, setting);

    // add clickListener
    table.addListener(new ClickListener() {
        public void clicked(InputEvent event, float x, float y) {
            if (event.getType() == InputEvent.Type.touchUp) {
                new NumericInput_Activity<Double>(setting.getValue()) {
                    public void returnValue(Double value) {
                        setting.setValue(value);
                        WidgetGroup group = listViews.peek();
                        for (Actor actor : group.getChildren()) {
                            if (actor instanceof ListView) {
                                final ListView listView = (ListView) actor;
                                final float scrollPos = listView.getScrollPos();
                                listView.layout(FORCE);
                                Gdx.app.postRunnable(new Runnable() {
                                    @Override
                                    public void run() {
                                        listView.setScrollPos(scrollPos);
                                    }//from w w w. ja  v a 2  s .  c o m
                                });

                            }
                        }
                    }
                }.show();
            }
        }
    });

    return table;
}