Add bundle
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
[com.badlogic.gdx.scenes.scene2d.utils ActorGestureListener Align
|
||||
ChangeListener ClickListener DragListener FocusListener]
|
||||
[com.badlogic.gdx.utils ScreenUtils Timer$Task]
|
||||
[play_clj.entities ShapeEntity]))
|
||||
[play_clj.entities BundleEntity ShapeEntity]))
|
||||
|
||||
(load "core_basics")
|
||||
(load "core_cameras")
|
||||
|
||||
@@ -7,6 +7,16 @@
|
||||
[& body]
|
||||
`(app! :post-runnable (fn [] ~@body)))
|
||||
|
||||
(defn bundle
|
||||
"Returns an entity containing other entities. This is a useful way to keep
|
||||
related entities together. They will be drawn in the order they appear in the
|
||||
internal :entities vector.
|
||||
|
||||
(bundle (shape :filled) (texture \"image.png\"))
|
||||
(assoc (bundle) :entities [])"
|
||||
[& entities]
|
||||
(BundleEntity. entities))
|
||||
|
||||
(defn screenshot!
|
||||
"Captures a screenshot and either returns it as a `pixmap` or saves it to the
|
||||
specified path.
|
||||
|
||||
@@ -73,3 +73,8 @@
|
||||
(.begin object type)
|
||||
(draw!)
|
||||
(.end object)))
|
||||
|
||||
(defrecord BundleEntity [entities] Entity
|
||||
(draw-entity! [{:keys [entities]} screen batch]
|
||||
(doseq [e entities]
|
||||
(draw-entity! e screen batch))))
|
||||
|
||||
Reference in New Issue
Block a user