resizing is well on its way to working.

This commit is contained in:
2015-02-21 01:18:07 -08:00
parent 843fde014d
commit 6419638b5e
10 changed files with 165 additions and 93 deletions

View File

@@ -27,7 +27,7 @@
(defscreen talking-screen
:on-show
(fn [screen entities]
(update! screen :renderer (stage) :camera (orthographic))
(utils/setup-viewport screen 1280 960)
{})
:on-render
(fn [screen [entities]]
@@ -60,8 +60,8 @@
(dissoc entities target-id))
:on-resize (fn [screen entities]
(size! screen 1280 960)))
:on-resize (fn [{:keys [viewport width height]} entities]
(.update viewport width height)))
(def choice-height 30)
@@ -81,7 +81,7 @@
(defscreen choice-screen
:on-show
(fn [screen entities]
(update! screen :renderer (stage) :camera (orthographic))
(utils/setup-viewport screen 1280 960)
(let [font (bitmap-font "ego/font.fnt" )
tr (bitmap-font! font :get-region)
scale 1
@@ -117,7 +117,7 @@
(assoc-in [:state :np :height] (* 30 (inc choice-count))))))
:on-touch-up (fn [screen [entities]]
(let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})]
(let [[x y] (utils/unproject screen)]
(when (seq (get-in entities [:state :choices]))
(when-let [choice (first (filter #(utils/intersects? % [x y]) (vals entities)))]
((get-in entities [:state :callback]) (:index choice))
@@ -127,7 +127,7 @@
(select-keys [:state]))))))
:on-mouse-moved (fn [screen [entities]]
(let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})
(let [[x y] (utils/unproject screen)
entities (assoc-in entities [:state :last-pos] [x y])
choice-count (dec (count entities))]
(doseq [e (vals entities)
@@ -135,5 +135,5 @@
(style-label e (get-in entities [:state :font]) [x y]))
entities))
:on-resize (fn [screen entities]
(size! screen 1280 960)))
:on-resize (fn [{:keys [width height viewport]} entities]
(.update viewport width height)))