removed flickering issue.

This commit is contained in:
Bryce Covert
2015-08-14 18:17:09 -07:00
parent 623f63c068
commit 95cdb05760
2 changed files with 12 additions and 10 deletions

View File

@@ -826,12 +826,7 @@ void main()
[x1 x2])) [x1 x2]))
(defn mouse-moved [{:keys [input-x input-y viewport] :as screen} [entities]] (defn mouse-moved [{:keys [input-x input-y viewport] :as screen} [entities]]
(if (utils/contains-point? (.getScreenX viewport) (.getScreenY viewport) (utils/update-override screen (assoc-in entities [:cursor :last-pos] [input-x input-y])))
(.getScreenWidth viewport) (.getScreenHeight viewport)
input-x input-y)
(utils/update-override screen (assoc-in entities [:cursor :last-pos] [input-x input-y]))
(assoc-in entities [:cursor :override] nil)))
(defscreen scene (defscreen scene
:on-timer :on-timer

View File

@@ -243,11 +243,18 @@
(and is-script-running (and is-script-running
(= :none (get-in entities [:actions :last-skip-type]))))) (= :none (get-in entities [:actions :last-skip-type])))))
(defn update-override [screen entities] (defn update-override [{:keys [viewport] :as screen} entities]
(let [last-pos (unproject screen (get-in entities [:cursor :last-pos])) (let [raw-pos (get-in entities [:cursor :last-pos])
mouse-override (find-override entities last-pos)] last-pos (unproject screen raw-pos)
(println last-pos) mouse-override (find-override entities last-pos)
out-of-bounds (not (contains-point? (.getScreenX viewport) (.getScreenY viewport)
(.getScreenWidth viewport) (.getScreenHeight viewport)
(first raw-pos) (last raw-pos)))]
(cond (cond
out-of-bounds
(update-in entities [:cursor] assoc :override nil :active false )
(not (get-in entities [:state :active?])) (not (get-in entities [:state :active?]))
entities entities