Use defonce and add other fixes
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
(load "core_render")
|
(load "core_render")
|
||||||
|
|
||||||
(defn defscreen*
|
(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}]
|
:as options}]
|
||||||
(let [screen (atom {})
|
(let [screen (atom {})
|
||||||
dummy-fn (fn [s])
|
dummy-fn (fn [s])
|
||||||
@@ -51,16 +51,16 @@
|
|||||||
|
|
||||||
(defmacro defscreen
|
(defmacro defscreen
|
||||||
[name & {:keys [] :as options}]
|
[name & {:keys [] :as options}]
|
||||||
`(def ~name (defscreen* ~options)))
|
`(defonce ~name (defscreen* ~options)))
|
||||||
|
|
||||||
(defn defgame*
|
(defn defgame*
|
||||||
[{:keys [on-create]}]
|
[{:keys [on-create]}]
|
||||||
(proxy [Game] []
|
(proxy [Game] []
|
||||||
(create [] (on-create this))))
|
(create [] (when on-create (on-create this)))))
|
||||||
|
|
||||||
(defmacro defgame
|
(defmacro defgame
|
||||||
[name & {:keys [] :as options}]
|
[name & {:keys [] :as options}]
|
||||||
`(def ~name (defgame* ~options)))
|
`(defonce ~name (defgame* ~options)))
|
||||||
|
|
||||||
(defn set-screen!
|
(defn set-screen!
|
||||||
[^Game game ^Screen screen]
|
[^Game game ^Screen screen]
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
(clear! 0 0 0 0))
|
(clear! 0 0 0 0))
|
||||||
([r g b a]
|
([r g b a]
|
||||||
(doto (Gdx/gl)
|
(doto (Gdx/gl)
|
||||||
(.glClearColor r g b a)
|
(.glClearColor (float r) (float g) (float b) (float a))
|
||||||
(.glClear GL20/GL_COLOR_BUFFER_BIT))))
|
(.glClear GL20/GL_COLOR_BUFFER_BIT))))
|
||||||
|
|
||||||
(defn game*
|
(defn game*
|
||||||
|
|||||||
Reference in New Issue
Block a user