ui improvements.
This commit is contained in:
@@ -111,11 +111,11 @@
|
||||
|
||||
(defn make-label
|
||||
([msg]
|
||||
(make-label msg (color 1.0 0.3 0.3 1.0)))
|
||||
(make-label msg nil))
|
||||
([msg col]
|
||||
(let [font (utils/get-font "ego/font.fnt")]
|
||||
(-> msg
|
||||
(label (style :label font col))
|
||||
(label (style :label font (or col (color 1.0 0.3 0.3 1.0))))
|
||||
(assoc :x 0 :y 0 :height 32 :origin-x 0 :origin-y 0 :z 8)
|
||||
center
|
||||
(doto (label! :set-alignment Align/center))))))
|
||||
@@ -139,7 +139,7 @@
|
||||
(stack-y 305 0)
|
||||
(assoc :z 8
|
||||
:interactable true))
|
||||
:rewind (-> (make-label "Previous chapter" (color :white))
|
||||
:rewind (-> (make-label "Previous chapter" (when is-starting? (color :white)))
|
||||
(stack-y 305 1)
|
||||
(assoc :z 8
|
||||
:interactable (not is-starting?)))
|
||||
@@ -186,6 +186,17 @@
|
||||
:interactable true
|
||||
:save (saves/name->save name)))])))
|
||||
|
||||
(defn style-ui [entities]
|
||||
(doseq [entity (vals entities)
|
||||
:let [[x y] (:last-pos entities)]
|
||||
:when (and (:object entity) x y)]
|
||||
(cond (label? entity)
|
||||
(style-label entity (get-in entities [:font]) [x y])
|
||||
|
||||
(slider? entity)
|
||||
(style-slider entity [x y])))
|
||||
entities)
|
||||
|
||||
(defscreen title-screen
|
||||
:on-show
|
||||
(fn [screen entities]
|
||||
@@ -256,7 +267,8 @@
|
||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||
entities (fly-ego screen entities)
|
||||
entities (fly-balloon screen entities)
|
||||
entities (update-in entities [:balloon] merge (animation->texture screen (:anim (:balloon entities))))]
|
||||
entities (update-in entities [:balloon] merge (animation->texture screen (:anim (:balloon entities))))
|
||||
entities (style-ui entities)]
|
||||
(when (:fullscreen entities)
|
||||
(label! (:fullscreen entities) :set-text (if (.isFullscreen Gdx/graphics)
|
||||
"Fullscreen"
|
||||
@@ -272,13 +284,11 @@
|
||||
|
||||
:on-mouse-moved (fn [screen [entities]]
|
||||
(let [[x y] (utils/unproject screen)]
|
||||
(doseq [entity (vals entities)
|
||||
:when (:object entity)]
|
||||
(cond (label? entity)
|
||||
(style-label entity (get-in entities [:font]) [x y])
|
||||
(assoc entities :last-pos [x y])))
|
||||
|
||||
(slider? entity)
|
||||
(style-slider entity [x y])))))
|
||||
:on-touch-dragged (fn [screen [entities]]
|
||||
(let [[x y] (utils/unproject screen)]
|
||||
(assoc entities :last-pos [x y])))
|
||||
:on-key-up
|
||||
(fn [screen entities]
|
||||
(when (= (key-code :escape) (:key screen))
|
||||
|
||||
Reference in New Issue
Block a user