From d346924f58e9762cc34168b8bd57db0f49263fff Mon Sep 17 00:00:00 2001 From: oakes Date: Fri, 17 Jan 2014 21:55:29 -0500 Subject: [PATCH] Allow the camera functions to take the camera object directly --- src/play_clj/core_graphics.clj | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/play_clj/core_graphics.clj b/src/play_clj/core_graphics.clj index 7f33345..dff9515 100644 --- a/src/play_clj/core_graphics.clj +++ b/src/play_clj/core_graphics.clj @@ -269,9 +269,10 @@ `(u/call! ^PerspectiveCamera (or (:camera ~screen) ~screen) ~k ~@options)) (defn size! - [{:keys [^OrthographicCamera camera]} width height] - (assert camera) - (.setToOrtho camera false width height)) + [screen width height] + (let [^OrthographicCamera camera (or (:camera screen) screen)] + (assert camera) + (.setToOrtho camera false width height))) (defn height! [screen new-height] @@ -282,22 +283,25 @@ (size! screen new-width (* new-width (/ (game :height) (game :width))))) (defn x! - [{:keys [^Camera camera]} x] - (assert camera) - (set! (. (. camera position) x) x) - (.update camera)) + [screen x] + (let [^Camera camera (or (:camera screen) screen)] + (assert camera) + (set! (. (. camera position) x) x) + (.update camera))) (defn y! - [{:keys [^Camera camera]} y] - (assert camera) - (set! (. (. camera position) y) y) - (.update camera)) + [screen y] + (let [^Camera camera (or (:camera screen) screen)] + (assert camera) + (set! (. (. camera position) y) y) + (.update camera))) (defn z! - [{:keys [^Camera camera]} z] - (assert camera) - (set! (. (. camera position) z) z) - (.update camera)) + [screen z] + (let [^Camera camera (or (:camera screen) screen)] + (assert camera) + (set! (. (. camera position) z) z) + (.update camera))) (defn position! ([screen x y]