       (.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)))
+  ([width height tile-width tile-height]
+    (TiledMapTileLayer. width height tile-width tile-height))
+  ([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*
  [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).

    (tiled-map-layer! layer :get-name)))

(defn tiled-map-cell*
  ([]
    (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)
