List of usage examples for com.badlogic.gdx.graphics.g2d Sprite rotate
public void rotate(float degrees)
From source file:com.binarytenshi.nopassing.core.environment.StreetHandler.java
private static Sprite getSprite(int x, int y) { Sprite sprite = new Sprite(streetTexture, 0, 0, TextureLib.tileSide, TextureLib.tileSide); // up, right, down, left (0b0000) byte orientation = getOrientation(x, y); switch (orientation) { // DEFAULT; UP DOWN case 0b0000:/*from ww w. j av a2 s. c o m*/ case 0b1000: case 0b0010: case 0b1010: sprite.setRegion(0, 0, TextureLib.tileSide, TextureLib.tileSide); break; // LEFT RIGHT case 0b0101: case 0b0100: case 0b0001: sprite.setRegion(0, 0, TextureLib.tileSide, TextureLib.tileSide); sprite.setRotation(90f); break; // DOWN LEFT case 0b0011: sprite.setRegion(TextureLib.tileSide, 0, TextureLib.tileSide, TextureLib.tileSide); break; // RIGHT DOWN case 0b0110: sprite.setRegion(TextureLib.tileSide, 0, TextureLib.tileSide, TextureLib.tileSide); sprite.rotate(-90f); break; // UP RIGHT case 0b1100: sprite.setRegion(TextureLib.tileSide, 0, TextureLib.tileSide, TextureLib.tileSide); sprite.rotate(180f); break; // UP LEFT case 0b1001: sprite.setRegion(TextureLib.tileSide, 0, TextureLib.tileSide, TextureLib.tileSide); sprite.rotate(90f); break; // UP RIGHT DOWN case 0b1110: sprite.setRegion(0, TextureLib.tileSide, TextureLib.tileSide, TextureLib.tileSide); break; // UP RIGHT LEFT case 0b1101: sprite.setRegion(0, TextureLib.tileSide, TextureLib.tileSide, TextureLib.tileSide); sprite.rotate(-90f); break; // RIGHT DOWN LEFT case 0b0111: sprite.setRegion(0, TextureLib.tileSide, TextureLib.tileSide, TextureLib.tileSide); sprite.rotate(90f); break; // UP DOWN LEFT case 0b1011: sprite.setRegion(0, TextureLib.tileSide, TextureLib.tileSide, TextureLib.tileSide); sprite.rotate(180f); break; // UP RIGHT DOWN LEFT case 0b1111: sprite.setRegion(TextureLib.tileSide, TextureLib.tileSide, TextureLib.tileSide, TextureLib.tileSide); break; } return sprite; }
From source file:com.gmail.emersonmx.tictactoe.GameScreen.java
License:Open Source License
private Actor createHash() { Group group = new Group(); group.setName("hash"); GridPoint2[] layout = new GridPoint2[] { new GridPoint2(179, 401), new GridPoint2(240, 462), new GridPoint2(301, 401), new GridPoint2(240, 340) }; Sprite sprite = null; GridPoint2 point = null;// ww w . ja v a 2 s. c om for (int i = 0; i < layout.length; ++i) { point = layout[i]; sprite = ttt.atlas.createSprite("hash_line"); sprite.setCenter(point.x, point.y); if (i % 2 != 0) { sprite.rotate(90); } group.addActor(new SpriteActor("hash_line_" + i, sprite)); } return group; }
From source file:com.retrom.volcano.game.WorldRenderer.java
License:Apache License
public void drawPillar(Deque<Background.Element> pillar, float x, float y, boolean flip) { LinkedList<DrawTask> drawTasks = new LinkedList<DrawTask>(); for (Background.Element e : pillar) { Sprite keyFrame = null; switch (e) { case PILLAR_1: case PILLAR_2: case PILLAR_3: int index = e.index(); keyFrame = Assets.pillars.get(index); break; case PILLAR_BIG_1: case PILLAR_BIG_2: keyFrame = Assets.pillars_big.get(e.index() % Assets.pillars_big.size); break; case PILLAR_END: keyFrame = Assets.pillars_end; break; case PILLAR_START: keyFrame = Assets.pillars_start; break; case PILLAR_HOLE: keyFrame = Assets.pillars_hole; break; case PILLAR_HOLE_BG: keyFrame = Assets.pillars_hole_bg; break; case PILLAR_OPENING_GAP: keyFrame = null;//ww w. j a v a 2s . c om break; case PILLAR_OPENING_CLOSED_DOOR: keyFrame = Assets.openingDoor; break; case PILLAR_OPENING_TOP: keyFrame = Assets.openingDoorTop; break; case BACKGROUND_BASE: keyFrame = Assets.background; keyFrame.rotate(30f); break; case BACKGROUND_OPENING: keyFrame = Assets.opening_background; keyFrame.rotate(30f); break; case BACKGROUND_WORLD1_1: case BACKGROUND_WORLD1_2: case BACKGROUND_WORLD1_3: case BACKGROUND_WORLD1_4: case BACKGROUND_WORLD1_5: case BACKGROUND_WORLD1_6: keyFrame = Assets.bg_world1.get(e.index()); break; case BACKGROUND_OVERLAY1_1: case BACKGROUND_OVERLAY1_2: case BACKGROUND_OVERLAY1_3: case BACKGROUND_OVERLAY1_4: case BACKGROUND_OVERLAY1_5: case BACKGROUND_OVERLAY1_6: case BACKGROUND_OVERLAY1_7: case BACKGROUND_OVERLAY1_8: keyFrame = Assets.bg_overlay_world1.get(e.index()); break; case BACKGROUND_WORLD2_1: case BACKGROUND_WORLD2_2: case BACKGROUND_WORLD2_3: case BACKGROUND_WORLD2_4: case BACKGROUND_WORLD2_5: case BACKGROUND_WORLD2_6: keyFrame = Assets.bg_world2.get(e.index()); break; case BACKGROUND_OVERLAY2_1: case BACKGROUND_OVERLAY2_2: case BACKGROUND_OVERLAY2_3: case BACKGROUND_OVERLAY2_4: case BACKGROUND_OVERLAY2_5: case BACKGROUND_OVERLAY2_6: case BACKGROUND_OVERLAY2_7: case BACKGROUND_OVERLAY2_8: keyFrame = Assets.bg_overlay_world2.get(e.index()); break; case BACKGROUND_WORLD3_1: case BACKGROUND_WORLD3_2: keyFrame = Assets.bg_world3.get(e.index()); default: // Gdx.app.log("ERROR", "Unhandled pillar type: " + e); break; } if (keyFrame != null) { keyFrame.setFlip(flip, false); drawTasks.addFirst(new DrawTask(keyFrame, x, y)); } y += e.height(); } for (DrawTask task : drawTasks) { drawCenterBottom(task.keyFrame, task.x, task.y); } }
From source file:com.talas777.ZombieLord.Minigames.TowerDefense.Defender.java
License:Open Source License
public void act(LinkedList<Attacker> attackers, float deltaTime) { availableTime += deltaTime;/* ww w . ja v a 2 s .c o m*/ boolean noAction = true; if (availableTime < actionDelay) { return; // still 'charging' to carry out another action } LinkedList<Attacker> wantToShoot = new LinkedList<Attacker>(); int northmost = 0; int weakest = Integer.MAX_VALUE; int nearest = 99; // Defender strategy: most north, weakest, nearest for (Attacker attacker : attackers) { if (attacker.getY() > northmost) { wantToShoot = new LinkedList<Attacker>(); northmost = attacker.getY(); weakest = attacker.health; nearest = ZombieDefense.getDistanceTo(attacker.getX(), attacker.getY(), this.getX(), this.getY()); wantToShoot.add(attacker); } else if (attacker.getY() == northmost) { if (attacker.health < weakest) { wantToShoot = new LinkedList<Attacker>(); northmost = attacker.getY(); weakest = attacker.health; nearest = ZombieDefense.getDistanceTo(attacker.getX(), attacker.getY(), this.getX(), this.getY()); wantToShoot.add(attacker); } else if (attacker.health == weakest) { int dist = ZombieDefense.getDistanceTo(attacker.getX(), attacker.getY(), this.getX(), this.getY()); if (dist < nearest) { wantToShoot = new LinkedList<Attacker>(); northmost = attacker.getY(); weakest = attacker.health; nearest = ZombieDefense.getDistanceTo(attacker.getX(), attacker.getY(), this.getX(), this.getY()); wantToShoot.add(attacker); } else if (dist == nearest) { wantToShoot.add(attacker); } } } } for (Attacker attacker : wantToShoot) { if (availableTime < actionDelay) return; // no more time left (have to 'charge' again..) if (isInRange(attacker)) { // attack Sprite arrow = new Sprite(arrowTex, 32, 32); int fromx = this.getX() * 32; int fromy = this.getY() * 32; int tox = attacker.getX() * 32; int toy = attacker.getY() * 32; this.shootTimeLeft = 1f; float angle = getRotationDegrees(fromx, fromy, tox, toy); if (angle <= 45 || angle > 315) { // north this.direction = ZombieLord.DIR_NORTH; } else if (angle > 45 && angle <= 135) { // east this.direction = ZombieLord.DIR_WEST; } else if (angle > 135 && angle <= 225) { // south this.direction = ZombieLord.DIR_SOUTH; } else // west this.direction = ZombieLord.DIR_EAST; if (angle == 90) arrow.rotate90(true); else if (angle == 270) arrow.rotate90(false); else arrow.rotate(angle); ZombieLord.sendAnimatedMissile(arrow, fromx, tox, fromy, toy, 5.7f); attacker.health -= damage; availableTime -= actionDelay; noAction = false; } } if (noAction && availableTime > actionDelay) { availableTime = actionDelay; // dont charge for more than 1 shot. } }
From source file:EntityManager.RenderSystem.java
public static void render() { if (bullets.size() > 100) { for (int i = 50; i > 0; i--) { world.destroyBody(bm.get(bullets.get(i)).body); EntityManager.destroy(bullets.get(i)); }//from w w w. j a v a 2s. co m } SpriteBatch batch = new SpriteBatch(); Sprite player;// = TextureHolder.initializePlayer(bm.get(players.first()).body); Texture tex = new Texture("player.gif"); player = new Sprite(tex); // player.scale(1f); player.scale(SCALE * -.3f); player.setCenter(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2); player.rotate((float) Math.toDegrees(bm.get(players.first()).body.getAngle())); batch.begin(); player.draw(batch); batch.setProjectionMatrix(camera.combined); // player.draw(batch); EntityManager.draw(Gdx.graphics.getDeltaTime(), batch); // batch.draw(tex, w, w); batch.end(); batch.dispose(); }
From source file:seventh.client.gfx.TextureUtil.java
License:Open Source License
public static void setFlips(Sprite sprite, boolean isFlippedHorizontal, boolean isFlippedVert, boolean isFlippedDiagnally) { if (sprite == null) return;/*from ww w.ja va 2 s.co m*/ if (isFlippedDiagnally) { if (isFlippedHorizontal && isFlippedVert) { sprite.flip(true, false); sprite.rotate(-270f); } else if (isFlippedHorizontal) { sprite.rotate(-270f); } else if (isFlippedVert) { sprite.rotate(-90f); } else { sprite.flip(false, true); sprite.rotate(-270f); } } else { sprite.flip(isFlippedHorizontal, isFlippedVert); } }