List of usage examples for com.badlogic.gdx.scenes.scene2d Actor Actor
Actor
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();//w ww.j a 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.agateau.ui.RefreshHelper.java
License:Apache License
public RefreshHelper(Group group) { Actor helperActor = new Actor() { @Override/*from ww w. ja v a 2 s .co m*/ public void setStage(Stage stage) { super.setStage(stage); installEventListener(stage); } }; group.addActor(helperActor); }
From source file:com.blastedstudios.gdxworld.util.ui.TreeFileChooser.java
License:Apache License
/** creates an anonymous subclass of {@link Node} that recursively adds the children of the given file to it when being {@link Node#setExpanded(boolean) expanded} for the first time * @param file the file to put in {@link Node#setObject(Object)} * @param filter Filters children from being added. May be null to accept all files. * @param labelSupplier supplies labels to use * @param nodeConsumer Does something with nodes after they were created. May be null. * @return the created Node *//*from ww w .j a v a2 s.co m*/ public static Node fileNode(final FileHandle file, final FileFilter filter, final Accessor<Label, FileHandle> labelSupplier, final Accessor<Void, Node> nodeConsumer) { Label label = labelSupplier.access(file); Node node; if (file.isDirectory()) { final Node dummy = new Node(new Actor()); node = new Node(label) { private boolean childrenAdded; @Override public void setExpanded(boolean expanded) { if (expanded == isExpanded()) return; if (expanded && !childrenAdded) { if (filter != null) for (File child : file.file().listFiles(filter)) add(fileNode(file.child(child.getName()), filter, labelSupplier, nodeConsumer)); else for (FileHandle child : file.list()) add(fileNode(child, filter, labelSupplier, nodeConsumer)); childrenAdded = true; remove(dummy); } super.setExpanded(expanded); } }; node.add(dummy); if (nodeConsumer != null) nodeConsumer.access(dummy); } else node = new Node(label); node.setObject(file); if (nodeConsumer != null) nodeConsumer.access(node); return node; }
From source file:com.idp.engine.resources.assets.IdpColorPixmap.java
/** * @return new instance of actor that draws this pixmap *//* www. j ava2 s. c o m*/ public Actor buildActor() { return new Actor() { public void draw(Batch batch, float parentAlpha) { batch.setColor(getColor()); batch.getColor().a *= parentAlpha; batch.draw(getTexture(), getX(), getY(), getWidth(), getHeight()); } }; }
From source file:com.idp.engine.ui.screens.NetScreen.java
/** * Called from {@link NetScreen#dataFailed()} to display error message. *//*from w w w. j a v a 2 s . c o m*/ protected void initErrorWidget() { Text emptyList = new Text(errorMessage, StartTrackApp.getResources().getLabelStyle("h2")); emptyList.getStyle().fontColor = Color.valueOf("666666"); emptyList.setAlignment(Align.center); emptyList.setSize(Gdx.graphics.getWidth(), StartTrackApp.dp2px(20)); listView.getContent().addActor(new Actor()); // adds gap listView.getContent().addActor(emptyList); listView.getContentWrapper().setBottomOverScroll(0); }
From source file:com.kotcrab.vis.editor.ui.tabbedpane.DefaultDragAndDropTarget.java
License:Apache License
public DefaultDragAndDropTarget() { dummyTarget = new DragAndDrop.Target(new Actor()) { @Override/*w w w. j ava2 s. c o m*/ public boolean drag(DragAndDrop.Source source, DragAndDrop.Payload payload, float x, float y, int pointer) { return false; } @Override public void drop(DragAndDrop.Source source, DragAndDrop.Payload payload, float x, float y, int pointer) { } }; }
From source file:com.stercore.code.net.dermetfan.utils.libgdx.scene2d.ui.TreeFileChooser.java
License:Apache License
/** creates an anonymous subclass of {@link Node} that recursively adds the children of the given file to it when being {@link Node#setExpanded(boolean) expanded} for the first time * @param file the file to put in {@link Node#setObject(Object)} * @param filter Filters children from being added. May be null to accept all files. * @param labelSupplier supplies labels to use * @param nodeConsumer Does something with nodes after they were created. May be null. * @return the created Node *///from ww w. j av a 2 s . c o m public static Node fileNode(final FileHandle file, final FileFilter filter, final Function<Label, FileHandle> labelSupplier, final Function<Void, Node> nodeConsumer) { Label label = labelSupplier.apply(file); Node node; if (file.isDirectory()) { final Node dummy = new Node(new Actor()); node = new Node(label) { private boolean childrenAdded; @Override public void setExpanded(boolean expanded) { if (expanded == isExpanded()) return; if (expanded && !childrenAdded) { if (filter != null) for (File child : file.file().listFiles(filter)) add(fileNode(file.child(child.getName()), filter, labelSupplier, nodeConsumer)); else for (FileHandle child : file.list()) add(fileNode(child, filter, labelSupplier, nodeConsumer)); childrenAdded = true; remove(dummy); } super.setExpanded(expanded); } }; node.add(dummy); if (nodeConsumer != null) nodeConsumer.apply(dummy); } else node = new Node(label); node.setObject(file); if (nodeConsumer != null) nodeConsumer.apply(node); return node; }
From source file:com.vlaaad.common.GdxHelper.java
License:Open Source License
public static void showStageEvents(final Stage stage) { EventListener listener = new EventListener() { private final Vector2 tmp = new Vector2(); private Actor actor = new Actor() { @Override/*w ww . ja va 2s. c om*/ public void draw(Batch batch, float parentAlpha) { if (target == null) return; batch.end(); Config.shapeRenderer.begin(ShapeRenderer.ShapeType.Line); Config.shapeRenderer.setProjectionMatrix(stage.getCamera().combined); Gdx.gl.glLineWidth(6); Config.shapeRenderer.setColor(Color.ORANGE); Vector2 pos = target.localToStageCoordinates(tmp.set(0, 0)); float x = pos.x, y = pos.y; Vector2 top = target.localToStageCoordinates(tmp.set(target.getWidth(), target.getHeight())); float maxX = top.x, maxY = top.y; Config.shapeRenderer.rect(x, y, maxX - x, maxY - y); Config.shapeRenderer.end(); batch.begin(); } }; { stage.addActor(actor); } public Actor target; @Override public boolean handle(Event event) { target = event.getTarget(); return false; } }; stage.addListener(listener); }
From source file:com.vlaaad.dice.ui.windows.PotionsPlayWindow.java
License:Open Source License
@Override protected void doShow(Params params) { windowParams = params;/*from www. ja v a 2 s.c om*/ final Table content = new Table(Config.skin); content.defaults().pad(2); content.setBackground("ui-creature-info-background"); content.setTouchable(Touchable.enabled); Container container = new Container(content).top(); table.add(container).size(162, 218); Array<Ability> potions = new Array<Ability>(); for (Ability ability : params.creature.player.potions()) { if (params.creature.player.getPotionCount(ability) > 0) potions.add(ability); } potions.sort(Ability.COST_COMPARATOR); Table viewsList = new Table(); Image selection = new Image(Config.skin.getDrawable("selection/turn")); viewsList.addActor(selection); LocLabel name = new LocLabel(""); LocLabel desc = new LocLabel(""); desc.setAlignment(Align.center /*| Align.top*/); desc.setWrap(true); Table buttons = new Table(); buttons.top().defaults().pad(2); Table viewRow = new Table(); viewsList.add(viewRow).row(); viewRow.defaults().pad(2); int i = 0; ActorGestureListener l = null; for (Ability ability : potions) { AbilityIconCounter icon = new AbilityIconCounter(ability, params.creature.player.getPotionCount(ability)); icon.image.setOrigin(icon.image.getWidth() / 2, icon.image.getHeight() / 2); ActorGestureListener listener = createPotionTapListener(icon, ability, selection, viewsList, name, desc, buttons); if (l == null) { l = listener; } icon.addListener(listener); i++; viewRow.add(icon); if (i % 5 == 0) { viewRow = new Table(); viewRow.defaults().pad(2); viewsList.add(viewRow).row(); } } content.add(viewsList).row(); content.add(new Tile("ui-creature-info-line")).size(100, 1).row(); content.add(name).padBottom(0).padTop(-1).row(); // Tile line = new Tile("ui-creature-info-line"); // line.setColor(1, 1, 1, 0.5f); // content.add(line).padBottom(0).padTop(4).size(50, 1).row(); content.add(desc).size(130, 44).padTop(0).row(); // content.add(new Tile("ui-creature-info-line")).size(100, 1).row(); content.add(buttons)/*.height(68)*/.row(); if (l != null) { table.invalidate(); table.validate(); l.tap(null, 0, 0, 0, 0); } getStage().addActor(new Actor() { float x = -1; float y = -1; @Override public void act(float delta) { if (content.getWidth() != x || content.getHeight() != y) { x = content.getWidth(); y = content.getHeight(); } } }); }
From source file:de.bitbrain.craft.ui.elements.ElementConnector.java
License:Open Source License
private Actor addSpacing(String id) { Actor spacing = new Actor(); spacing.setWidth(group.getWidth());//w w w .j av a 2 s . c om spacing.setHeight(SPACING); spacings.put(id, spacing); return spacing; }