removed flickering issue.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user