Use defonce and add other fixes

This commit is contained in:
oakes
2014-01-01 03:19:20 -05:00
parent 1f368300a3
commit c8b539d513
2 changed files with 5 additions and 5 deletions

View File

@@ -18,7 +18,7 @@
(load "core_render")
(defn defscreen*
[{:keys [on-show on-render on-dispose on-hide on-pause on-resize on-resume]
[{:keys [on-show on-render on-hide on-pause on-resize on-resume]
:as options}]
(let [screen (atom {})
dummy-fn (fn [s])
@@ -51,16 +51,16 @@
(defmacro defscreen
[name & {:keys [] :as options}]
`(def ~name (defscreen* ~options)))
`(defonce ~name (defscreen* ~options)))
(defn defgame*
[{:keys [on-create]}]
(proxy [Game] []
(create [] (on-create this))))
(create [] (when on-create (on-create this)))))
(defmacro defgame
[name & {:keys [] :as options}]
`(def ~name (defgame* ~options)))
`(defonce ~name (defgame* ~options)))
(defn set-screen!
[^Game game ^Screen screen]

View File

@@ -7,7 +7,7 @@
(clear! 0 0 0 0))
([r g b a]
(doto (Gdx/gl)
(.glClearColor r g b a)
(.glClearColor (float r) (float g) (float b) (float a))
(.glClear GL20/GL_COLOR_BUFFER_BIT))))
(defn game*