improving start page.

This commit is contained in:
2015-02-08 11:38:32 -08:00
parent 78479885b3
commit 0658616453
3 changed files with 58 additions and 21 deletions

View File

@@ -6,6 +6,7 @@
[clojure.pprint]
[clojure.set :as set]
[advent.pathfind]
[advent.utils :as utils]
[clojure.core.async :refer [put! <! <!! >! >!! chan go thread take! alts!!]]
#_[advent.screens.scene :as scene])
(:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter]
@@ -65,13 +66,10 @@
(def choice-height 30)
(defn intersects? [e [x y]]
(and (:object e)
(< (:x e) x (+ (:x e) (.getWidth (:object e))))
(< (:y e) y (+ (:y e) (:height e)))))
(defn get-color [e mouse-pos]
(if (intersects? e mouse-pos)
(if (utils/intersects? e mouse-pos)
(color :yellow)
(color 0.6 1.0 1.0 1.0)
))
@@ -121,7 +119,7 @@
:on-touch-up (fn [screen [entities]]
(let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})]
(when (seq (get-in entities [:state :choices]))
(when-let [choice (first (filter #(intersects? % [x y]) (vals entities)))]
(when-let [choice (first (filter #(utils/intersects? % [x y]) (vals entities)))]
((get-in entities [:state :callback]) (:index choice))
(-> entities
(assoc-in [:state :callback] nil)
@@ -130,8 +128,8 @@
:on-mouse-moved (fn [screen [entities]]
(let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})
entities (assoc-in entities [:state :last-pos] [x y])
choice-count (dec (count entities))]
entities (assoc-in entities [:state :last-pos] [x y])
choice-count (dec (count entities))]
(doseq [e (vals entities)
:when (:object e)]
(style-label e (get-in entities [:state :font]) [x y]))