Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.dermetfan.someLibgdxTests.screens;
- import java.util.Iterator;
- import net.dermetfan.libgdx.InputListener;
- import net.dermetfan.someLibgdxTests.Assets;
- import net.dermetfan.someLibgdxTests.entities.EssaRebano;
- import com.badlogic.gdx.Gdx;
- import com.badlogic.gdx.InputMultiplexer;
- import com.badlogic.gdx.Screen;
- import com.badlogic.gdx.graphics.GL20;
- import com.badlogic.gdx.graphics.OrthographicCamera;
- import com.badlogic.gdx.graphics.g2d.Sprite;
- import com.badlogic.gdx.graphics.g2d.SpriteBatch;
- import com.badlogic.gdx.maps.tiled.TiledMap;
- import com.badlogic.gdx.maps.tiled.TiledMapTile;
- import com.badlogic.gdx.maps.tiled.TiledMapTileLayer;
- import com.badlogic.gdx.maps.tiled.TiledMapTileLayer.Cell;
- import com.badlogic.gdx.maps.tiled.TmxMapLoader;
- import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
- import com.badlogic.gdx.maps.tiled.tiles.AnimatedTiledMapTile;
- import com.badlogic.gdx.maps.tiled.tiles.StaticTiledMapTile;
- import com.badlogic.gdx.utils.Array;
- public class EssaRebanoDiggingAnimationTest implements Screen {
- private OrthographicCamera camera;
- private SpriteBatch batch;
- private OrthogonalTiledMapRenderer renderer;
- private TiledMap map;
- private EssaRebano player;
- private int[] background = new int[] {0}, foreground = new int[] {1};
- @Override
- public void render(float delta) {
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
- camera.position.set(player.getX() + player.getWidth() / 2, player.getY() + player.getHeight() / 2, 0);
- camera.update();
- renderer.setView(camera);
- renderer.render(background);
- batch.begin();
- player.draw(batch);
- batch.end();
- renderer.render(foreground);
- }
- @Override
- public void resize(int width, int height) {
- camera.viewportWidth = width / 2;
- camera.viewportHeight = height / 2;
- }
- @Override
- public void show() {
- Gdx.gl.glClearColor(0, 0, 0, 1);
- camera = new OrthographicCamera();
- batch = new SpriteBatch();
- TmxMapLoader loader = new TmxMapLoader();
- map = loader.load("maps/map.tmx");
- renderer = new OrthogonalTiledMapRenderer(map, batch);
- player = new EssaRebano(new Sprite(Assets.bruteWithTcng), map);
- player.setPosition(5 * player.getCollisionLayer().getTileWidth(), 10 * player.getCollisionLayer().getHeight());
- player.setSize(player.getCollisionLayer().getTileWidth(), player.getCollisionLayer().getTileHeight() * 1.75f);
- // ANIMATED TILES (just shamelessly copied from the series)
- // frames
- Array<StaticTiledMapTile> frameTiles = new Array<StaticTiledMapTile>(2);
- // get the frame tiles
- Iterator<TiledMapTile> tiles = map.getTileSets().getTileSet("tiles").iterator();
- while(tiles.hasNext()) {
- TiledMapTile tile = tiles.next();
- if(tile.getProperties().containsKey("animation") && tile.getProperties().get("animation", String.class).equals("flower"))
- frameTiles.add((StaticTiledMapTile) tile);
- }
- // create the animated tile
- AnimatedTiledMapTile animatedTile = new AnimatedTiledMapTile(1 / 3f, frameTiles);
- // ESSA REBANO: make the animated tile unpassable and diggable
- animatedTile.getProperties().put(player.getBlockedKey(), null);
- animatedTile.getProperties().put(player.getDiggableKey(), null);
- // background layer
- TiledMapTileLayer layer = (TiledMapTileLayer) map.getLayers().get("background");
- // replace static with animated tile
- for(int x = 0; x < layer.getWidth(); x++)
- for(int y = 0; y < layer.getHeight(); y++) {
- Cell cell = layer.getCell(x, y);
- if(cell != null && cell.getTile() != null && cell.getTile().getProperties().containsKey("animation") && cell.getTile().getProperties().get("animation", String.class).equals("flower"))
- cell.setTile(animatedTile);
- }
- Gdx.input.setInputProcessor(new InputMultiplexer(player, new InputListener() {
- @Override
- public boolean scrolled(int amount) {
- camera.zoom += amount / 25f;
- return true;
- }
- }));
- }
- @Override
- public void hide() {
- dispose();
- }
- @Override
- public void pause() {
- }
- @Override
- public void resume() {
- }
- @Override
- public void dispose() {
- renderer.dispose();
- map.dispose();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement