diff --git a/src/play_clj/core.clj b/src/play_clj/core.clj index b508eb9..f145003 100644 --- a/src/play_clj/core.clj +++ b/src/play_clj/core.clj @@ -1,7 +1,5 @@ (ns play-clj.core - (:require [clojure.set :as set] - [play-clj.g2d-physics :as g2dp] - [play-clj.utils :as u]) + (:require [play-clj.utils :as u]) (:import [com.badlogic.gdx Application Audio Files Game Gdx Graphics Input InputMultiplexer InputProcessor Net Screen] [com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera diff --git a/src/play_clj/core_graphics.clj b/src/play_clj/core_graphics.clj index 99a8c4b..b99b9aa 100644 --- a/src/play_clj/core_graphics.clj +++ b/src/play_clj/core_graphics.clj @@ -234,25 +234,6 @@ (render! screen) (draw! screen entities))) -; physics - -(defn step! - ([{:keys [world time-step velocity-iterations position-iterations] - :or {time-step (/ 1 60) velocity-iterations 10 position-iterations 10}}] - (assert world) - (cond - (isa? (type world) World) - (.step ^World world time-step velocity-iterations position-iterations))) - ([screen entities] - (step! screen) - (map (fn [entity] - (if-let [body (:body entity)] - (assoc entity - :x (g2dp/body-x body) - :y (g2dp/body-y body)) - entity)) - entities))) - ; cameras (defn orthographic* diff --git a/src/play_clj/g2d_physics.clj b/src/play_clj/g2d_physics.clj index ae8019c..e8c95a4 100644 --- a/src/play_clj/g2d_physics.clj +++ b/src/play_clj/g2d_physics.clj @@ -164,7 +164,7 @@ [object k & options] `(u/call! ^PolygonShape ~object ~k ~@options)) -; misc functions +; misc (defmacro contact! [object k & options] @@ -193,3 +193,20 @@ (-> contact .getFixtureB .getBody))) ([screen entities] (find-body (second-contact screen) entities))) + +(defn step! + ([{:keys [world time-step velocity-iterations position-iterations] + :or {time-step (/ 1 60) velocity-iterations 10 position-iterations 10}}] + (assert world) + (cond + (isa? (type world) World) + (.step ^World world time-step velocity-iterations position-iterations))) + ([screen entities] + (step! screen) + (map (fn [entity] + (if-let [body (:body entity)] + (assoc entity + :x (body-x body) + :y (body-y body)) + entity)) + entities)))