     (tiled-map-layer! layer :get-name)))
 
 (defn tiled-map-cell*
-  [screen layer x y]
-  (.getCell ^TiledMapTileLayer (tiled-map-layer screen layer) x y))
+  ([]
+    (TiledMapTileLayer$Cell.))
+  ([screen layer x y]
+    (.getCell ^TiledMapTileLayer (tiled-map-layer screen layer) x y)))
 
 (defmacro tiled-map-cell
   "Returns a [TiledMapTileLayer.Cell](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/maps/tiled/TiledMapTileLayer.Cell.html)

      (.get layers i))))

(defn tiled-map-layer*
  [screen layer]
  (if (isa? (type layer) MapLayer)
    layer
    (->> (tiled-map-layers screen)
         (drop-while #(not= layer (.getName ^MapLayer %)))
         first)))

(defmacro tiled-map-layer
  "Returns a [TiledMapTileLayer](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/maps/tiled/TiledMapTileLayer.html)

; tiled maps

(defn tiled-map*
  ([]
    (TiledMap.))
  ([s]
    (if (string? s)
      (.load (TmxMapLoader.) s)
      s)))

(defmacro tiled-map
  "Returns a [TiledMap](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/maps/tiled/TiledMap.html).
