From 6f89bec8b8580fd138fb647f4d7a2b73321e9067 Mon Sep 17 00:00:00 2001 From: oakes Date: Mon, 21 Apr 2014 13:19:00 -0400 Subject: [PATCH] Improve body-def --- src/play_clj/g2d_physics.clj | 5 ++--- src/play_clj/physics.clj | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/play_clj/g2d_physics.clj b/src/play_clj/g2d_physics.clj index ccb0d37..2a6fe39 100644 --- a/src/play_clj/g2d_physics.clj +++ b/src/play_clj/g2d_physics.clj @@ -39,7 +39,7 @@ ; bodies -(defn ^:private body-type +(defn body-type [k] (u/gdx-class :physics :box2d :BodyDef (str "BodyType/" (u/key->pascal k) "Body"))) @@ -50,8 +50,7 @@ (body-def :dynamic)" [k & options] `(let [^BodyDef object# (BodyDef.)] - (set! (. object# type) ~(body-type k)) - (u/fields! object# ~@options))) + (u/fields! object# :type ~(body-type k) ~@options))) (defmacro body! "Calls a single method on a body." diff --git a/src/play_clj/physics.clj b/src/play_clj/physics.clj index 8d48b5d..8c368fc 100644 --- a/src/play_clj/physics.clj +++ b/src/play_clj/physics.clj @@ -124,6 +124,7 @@ (def box-2d* p2d/box-2d*) (defmacro box-2d [& body] `(p2d/box-2d ~@body)) (defmacro box-2d! [& body] `(p2d/box-2d! ~@body)) +(def body-type p2d/body-type) (defmacro body-def [& body] `(p2d/body-def ~@body)) (defmacro body! [& body] `(p2d/body! ~@body)) (defmacro joint-def [& body] `(p2d/joint-def ~@body))