You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.1 KiB
87 lines
2.1 KiB
/*
|
|
* To change this license header, choose License Headers in Project Properties.
|
|
* To change this template file, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
|
|
package com.dungeoncrawler.view;
|
|
|
|
import com.badlogic.gdx.Gdx;
|
|
import com.badlogic.gdx.graphics.Texture;
|
|
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
|
import com.badlogic.gdx.maps.MapLayers;
|
|
import com.badlogic.gdx.maps.tiled.TiledMap;
|
|
import com.badlogic.gdx.maps.tiled.TiledMapTileLayer;
|
|
import com.badlogic.gdx.maps.tiled.TiledMapTileLayer.Cell;
|
|
import com.badlogic.gdx.maps.tiled.tiles.StaticTiledMapTile;
|
|
|
|
/**
|
|
*
|
|
* @author jonathan
|
|
*/
|
|
public class Map {
|
|
private TiledMap map;
|
|
private Texture tiles;
|
|
|
|
public Map(){
|
|
map = new TiledMap();
|
|
tiles = new Texture(Gdx.files.internal("tiles.gif"));
|
|
|
|
generateMap();
|
|
}
|
|
|
|
private void generateMap(){
|
|
TextureRegion[][] splitTiles = TextureRegion.split(getTiles(), 48, 48);
|
|
MapLayers layers = getMap().getLayers();
|
|
|
|
for(int i=0;i<6;i++){
|
|
TiledMapTileLayer layer = new TiledMapTileLayer(6, 6, 48, 48);
|
|
|
|
for(int x=0;x<6;x++){
|
|
for(int y=0;y<6;y++){
|
|
|
|
int ty = (int)(Math.random() * splitTiles.length);
|
|
int tx = (int)(Math.random() * splitTiles[ty].length);
|
|
|
|
Cell cell = new Cell();
|
|
cell.setTile(new StaticTiledMapTile(splitTiles[ty][tx]));
|
|
layer.setCell(x, y, cell);
|
|
|
|
}
|
|
layers.add(layer);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return the map
|
|
*/
|
|
public TiledMap getMap() {
|
|
return map;
|
|
}
|
|
|
|
/**
|
|
* @param map the map to set
|
|
*/
|
|
public void setMap(TiledMap map) {
|
|
this.map = map;
|
|
}
|
|
|
|
/**
|
|
* @return the tiles
|
|
*/
|
|
public Texture getTiles() {
|
|
return tiles;
|
|
}
|
|
|
|
/**
|
|
* @param tiles the tiles to set
|
|
*/
|
|
public void setTiles(Texture tiles) {
|
|
this.tiles = tiles;
|
|
}
|
|
|
|
|
|
|
|
}
|