Add tiled-map functions
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
[com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera
|
[com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera
|
||||||
PerspectiveCamera Texture]
|
PerspectiveCamera Texture]
|
||||||
[com.badlogic.gdx.graphics.g2d Animation SpriteBatch TextureRegion]
|
[com.badlogic.gdx.graphics.g2d Animation SpriteBatch TextureRegion]
|
||||||
[com.badlogic.gdx.maps MapLayers]
|
[com.badlogic.gdx.maps MapLayer MapLayers]
|
||||||
[com.badlogic.gdx.maps.tiled TiledMap TiledMapTileLayer TmxMapLoader]
|
[com.badlogic.gdx.maps.tiled TiledMap TiledMapTileLayer TmxMapLoader]
|
||||||
[com.badlogic.gdx.maps.tiled.renderers
|
[com.badlogic.gdx.maps.tiled.renderers
|
||||||
BatchTiledMapRenderer
|
BatchTiledMapRenderer
|
||||||
|
|||||||
@@ -24,17 +24,31 @@
|
|||||||
(.draw ^Stage renderer)))
|
(.draw ^Stage renderer)))
|
||||||
|
|
||||||
(defn tiled-map-layer
|
(defn tiled-map-layer
|
||||||
[{:keys [^BatchTiledMapRenderer renderer]} ^String layer]
|
[{:keys [^BatchTiledMapRenderer renderer]} layer]
|
||||||
(assert renderer)
|
(assert renderer)
|
||||||
(-> renderer .getMap .getLayers (.get layer)))
|
(if (isa? (type layer) MapLayer)
|
||||||
|
layer
|
||||||
|
(-> renderer .getMap .getLayers (.get layer))))
|
||||||
|
|
||||||
|
(defn tiled-map-layers
|
||||||
|
[{:keys [^BatchTiledMapRenderer renderer]}]
|
||||||
|
(assert renderer)
|
||||||
|
(let [layers (-> renderer .getMap .getLayers)]
|
||||||
|
(for [i (range (.getCount layers))]
|
||||||
|
(.get layers i))))
|
||||||
|
|
||||||
|
(defn tiled-map-layer-name
|
||||||
|
[screen layer]
|
||||||
|
(.getName ^MapLayer (tiled-map-layer screen layer)))
|
||||||
|
|
||||||
|
(defn tiled-map-layer-names
|
||||||
|
[screen]
|
||||||
|
(for [layer (tiled-map-layers screen)]
|
||||||
|
(tiled-map-layer-name screen layer)))
|
||||||
|
|
||||||
(defn tiled-map-cell
|
(defn tiled-map-cell
|
||||||
[{:keys [^BatchTiledMapRenderer renderer] :as screen} layer x y]
|
[screen layer x y]
|
||||||
(assert renderer)
|
(.getCell ^TiledMapTileLayer (tiled-map-layer screen layer) x y))
|
||||||
(-> (if (or (string? layer) (number? layer))
|
|
||||||
^TiledMapTileLayer (tiled-map-layer screen layer)
|
|
||||||
^TiledMapTileLayer layer)
|
|
||||||
(.getCell x y)))
|
|
||||||
|
|
||||||
(defmulti renderer :type :default nil)
|
(defmulti renderer :type :default nil)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user