List of usage examples for com.badlogic.gdx.scenes.scene2d.utils ActorGestureListener ActorGestureListener
public ActorGestureListener()
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 .j a va 2s . c om*/ 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.anstrat.gui.SnapScrollPane.java
License:Apache License
/** @param widget May be null. */ public SnapScrollPane(Actor widget, SnapScrollPaneStyle style) { if (style == null) throw new IllegalArgumentException("style cannot be null."); this.widget = widget; this.style = style; if (widget != null) { setWidget(widget);/*from w w w. ja v a2 s .co m*/ } setWidth(150); setHeight(150); addCaptureListener(new InputListener() { private float handlePosition; private int draggingPointer = -1; public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { if (draggingPointer != -1) return false; if (pointer == 0 && button != 0) return false; getStage().setScrollFocus(SnapScrollPane.this); if (!flickScroll) resetFade(); if (fadeAlpha == 0) return false; if (scrollX && hScrollBounds.contains(x, y)) { event.stop(); resetFade(); if (hKnobBounds.contains(x, y)) { lastPoint.set(x, y); handlePosition = hKnobBounds.x; touchScrollH = true; draggingPointer = pointer; return true; } setScrollX(amountX + Math.max(areaWidth * 0.9f, maxX * 0.1f) * (x < hKnobBounds.x ? -1 : 1)); return true; } if (scrollY && vScrollBounds.contains(x, y)) { event.stop(); resetFade(); if (vKnobBounds.contains(x, y)) { lastPoint.set(x, y); handlePosition = vKnobBounds.y; touchScrollV = true; draggingPointer = pointer; return true; } setScrollY(amountY + Math.max(areaHeight * 0.9f, maxY * 0.1f) * (y < vKnobBounds.y ? 1 : -1)); return true; } return false; } public void touchUp(InputEvent event, float x, float y, int pointer, int button) { if (pointer != draggingPointer) return; draggingPointer = -1; touchScrollH = false; touchScrollV = false; } public void touchDragged(InputEvent event, float x, float y, int pointer) { if (pointer != draggingPointer) return; if (touchScrollH) { float delta = x - lastPoint.x; float scrollH = handlePosition + delta; handlePosition = scrollH; scrollH = Math.max(hScrollBounds.x, scrollH); scrollH = Math.min(hScrollBounds.x + hScrollBounds.width - hKnobBounds.width, scrollH); setScrollPercentX((scrollH - hScrollBounds.x) / (hScrollBounds.width - hKnobBounds.width)); lastPoint.set(x, y); } else if (touchScrollV) { float delta = y - lastPoint.y; float scrollV = handlePosition + delta; handlePosition = scrollV; scrollV = Math.max(vScrollBounds.y, scrollV); scrollV = Math.min(vScrollBounds.y + vScrollBounds.height - vKnobBounds.height, scrollV); setScrollPercentY( 1 - ((scrollV - vScrollBounds.y) / (vScrollBounds.height - vKnobBounds.height))); lastPoint.set(x, y); } } public boolean mouseMoved(InputEvent event, float x, float y) { if (!flickScroll) resetFade(); return false; } }); gestureListener = new ActorGestureListener() { public void pan(InputEvent event, float x, float y, float deltaX, float deltaY) { resetFade(); amountX -= deltaX; amountY += deltaY; clamp(); cancelTouchFocusedChild(event); } public void fling(InputEvent event, float x, float y, int button) { if (Math.abs(x) > 150) { flingTimer = flingTime; velocityX = x; cancelTouchFocusedChild(event); } if (Math.abs(y) > 150) { flingTimer = flingTime; velocityY = -y; cancelTouchFocusedChild(event); } } public boolean handle(Event event) { if (super.handle(event)) { if (((InputEvent) event).getType() == InputEvent.Type.touchDown) flingTimer = 0; return true; } return false; } }; addListener(gestureListener); addListener(new InputListener() { public boolean scrolled(InputEvent event, int amount) { resetFade(); if (scrollY) setScrollY(amountY + Math.max(areaHeight * 0.9f, maxY * 0.1f) / 4 * amount); else if (scrollX) // setScrollX(amountX + Math.max(areaWidth * 0.9f, maxX * 0.1f) / 4 * amount); return true; } }); }
From source file:com.centergame.starttrack.graphics.actors.TabView.java
/** * @param names tab headers/*from ww w . j av a 2 s .com*/ */ public TabView(String[] names) { this.headerHeight = StartTrackApp.dp2px(32); this.separatorHeight = StartTrackApp.dp2px(1); this.separatorPadding = StartTrackApp.dp2px(12); this.underlineHeight = StartTrackApp.dp2px(2); this.selectedTextColor = Color.valueOf("202020"); this.unselectedTextColor = Color.valueOf("666666"); this.separatorColor = Color.LIGHT_GRAY; this.underlineColor = Color.DARK_GRAY; this.tabIndex = -1; this.headers = new ArrayList<Text>(); this.contents = new ArrayList<Group>(); int i = 0; for (String name : names) { final int ii = i; LabelStyle s = StartTrackApp.getResources().getLabelStyle("tabs_header"); s.fontColor = unselectedTextColor; Text t = new Text(name.toUpperCase(), s); t.setAlignment(Align.center); t.addListener(new ActorGestureListener() { public void tap(InputEvent event, float x, float y, int count, int button) { selectTab(ii); } }); headers.add(t); addActor(t); Group g = new Group() { @Override public void addActor(Actor actor) { super.addActor(actor); this.setHeight(actor.getHeight()); actor.setPosition(0, 0); } }; g.setVisible(false); contents.add(g); addActor(g); i++; } this.separator = new IdpColorPixmap(separatorColor).buildActor(); addActor(separator); this.underline = new IdpColorPixmap(underlineColor).buildActor(); addActor(underline); setBackgroundColor(Color.valueOf("fafafa")); setBorder(StartTrackApp.dp2px(1), 0, StartTrackApp.dp2px(1), 0); setBorderColor(Color.LIGHT_GRAY); layout(); }
From source file:com.centergame.starttrack.graphics.starttrack_widgets.base.BinaryRadioGroup.java
private void addRadioButton(String icon, final int value, final Grade grade) { final ImageActor a = new ImageActor(StartTrackApp.getResources().getIcon(icon)); final RadioButton rb = new RadioButton(a) { @Override// ww w . j ava 2s . co m public void onSelected() { getIcon().setColor( value == 1 ? StartTrackApp.ColorPallete.ICON_TICK : StartTrackApp.ColorPallete.ICON_CANCEL); grade.grade = value; } @Override public void onUnselected() { getIcon().setColor(StartTrackApp.ColorPallete.ELEMENT_BORDER); grade.grade = null; } }; rb.getIcon().setColor(StartTrackApp.ColorPallete.ELEMENT_BORDER); rb.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { if (rb == selected) { rb.unselect(); selected = null; return; } if (selected != null) selected.unselect(); rb.select(); selected = rb; } }); if (grade.grade != null && grade.grade == value) { rb.select(); selected = rb; } addActor(rb); }
From source file:com.centergame.starttrack.graphics.starttrack_widgets.base.RadioGroup.java
public RadioGroup(int min, int max, final com.centergame.starttrack.api.model.Report report) { paddingTop = 0;// w w w .j a v a2 s . c o m paddingBottom = 0; paddingLeft = 0; paddingRight = 0; for (int i = min; i <= max; i++) { final int ii = i; final RadioButton rb = new RadioButton(i + "") { @Override public void onSelected() { report.team_grade = ii; } @Override public void onUnselected() { report.team_grade = null; } }; rb.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { if (rb == selected) return; if (selected != null) selected.unselect(); rb.select(); selected = rb; } }); if (report.team_grade != null && i == report.team_grade) { rb.select(); selected = rb; } addActor(rb); } final RadioButton rb = new RadioButton(new ImageActor(StartTrackApp.getResources().getIcon("cancel"))); rb.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { if (selected != null) selected.unselect(); selected = null; report.team_grade = null; } }); addActor(rb); setJustified(true); }
From source file:com.jumpbuttonstudios.vikingdodge.ui.popup.GameOverPopup.java
License:Apache License
@Override public void registerListeners() { final GameScreenLayout gs = (GameScreenLayout) parent; playagain.addListener(new ActorGestureListener() { @Override/*from ww w. ja v a2s . c o m*/ public void tap(InputEvent event, float x, float y, int count, int button) { moveOut(1, false, Interpolation.exp10); gs.getOverlay().addAction(Actions.sequence(Actions.moveTo(0, 0, 1, Interpolation.bounceOut), Actions.run(new Runnable() { @Override public void run() { vikingDodge.setScreen(new GameScreen(vikingDodge)); } }), Actions.moveTo(0, gs.getOverlay().getHeight(), 1, Interpolation.exp10))); } }); mainmenu.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { VikingDodge.adListener.requestAd(AdListener.BOTTOM); fadeOverlay(); moveOut(1, false); parent.notify(null, Event.CHANGED_TO_MENU); gs.returnToMenu(); return false; } }); ; highscores.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { HighscoresPopup hsp = new HighscoresPopup(vikingDodge, parent); hsp.moveIn(1, Interpolation.elastic); gs.addActor(hsp); } }); }
From source file:com.jumpbuttonstudios.vikingdodge.ui.popup.HighscoresPopup.java
License:Apache License
public Table createTabButtons() { Table table = new Table(); Button[] buttons = new Button[3]; for (int x = 0; x < 3; x++) { buttons[x] = new Button(Assets.skin.get("emptyButton", ButtonStyle.class)); buttons[x].setName("button" + x); }/*from w w w. j a v a2 s . com*/ buttons[0].addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { back.setPosition(background.getWidth() - (background.getWidth() / 3) + (back.getWidth() / 2), backButtonPos.y); bringPanelToFront(personal); } }); buttons[1].addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { back.setPosition(backButtonPos.x, backButtonPos.y); bringPanelToFront(global); } }); buttons[2].addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { back.setPosition(backButtonPos.x, backButtonPos.y); bringPanelToFront(friends); } }); for (Button button : buttons) { table.add(button); } table.setPosition(575, 625); return table; }
From source file:com.jumpbuttonstudios.vikingdodge.ui.popup.HighscoresPopup.java
License:Apache License
@Override public void registerListeners() { back.addListener(new ActorGestureListener() { @Override/* ww w .j av a 2s.c o m*/ public void tap(InputEvent event, float x, float y, int count, int button) { parent.notify(null, Event.BUTTON_PRESSED); moveOut(1, true); } }); }
From source file:com.jumpbuttonstudios.vikingdodge.ui.popup.LoginPopup.java
License:Apache License
@Override public void registerListeners() { ok.addListener(new ActorGestureListener() { @Override//from w w w.j a va2 s . com public void tap(InputEvent event, float x, float y, int count, int button) { parent.notify(null, Event.BUTTON_PRESSED); Network.login(username.getText(), password.getText()); packetRecieved = true; } }); register.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { parent.notify(null, Event.BUTTON_PRESSED); Gdx.net.openURI(REGISTER_URL); } }); }
From source file:com.jumpbuttonstudios.vikingdodge.ui.popup.LogoutConfirmationPopup.java
License:Apache License
@Override public void registerListeners() { ok.addListener(new ActorGestureListener() { @Override//from w w w.jav a2 s. c o m public void tap(InputEvent event, float x, float y, int count, int button) { new Thread(new Runnable() { @Override public void run() { Network.logout(); ((MainMenuLayout) parent).getPlayerAvatarPopup().updateAvatar = true; ((MainMenuLayout) parent).getPlayerAvatarPopup().setCanMoveBack(true); } }).start(); moveOut(1, true); ((MainMenuLayout) parent).getLogin().setStyle(Assets.skin.get("login", ButtonStyle.class)); PlayerAvatarPopup p = ((MainMenuLayout) parent).getPlayerAvatarPopup(); p.moveOut(1, false); } }); }