Merge branch 'master' of https://bitbucket.org/brycecovertoperations/advent
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 10 KiB |
BIN
desktop/resources/dream/broom.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
desktop/resources/dream/cliff.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
desktop/resources/dream/clouds1.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
desktop/resources/dream/clouds2.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
desktop/resources/dream/corner-l.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
desktop/resources/dream/corner-r.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
desktop/resources/dream/island.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
desktop/resources/dream/shovel.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
@@ -10,6 +10,7 @@
|
|||||||
[clojure.set :as set]
|
[clojure.set :as set]
|
||||||
[clojure.string :as str]
|
[clojure.string :as str]
|
||||||
[play-clj.core :refer :all]
|
[play-clj.core :refer :all]
|
||||||
|
[play-clj.math :refer :all]
|
||||||
[play-clj.ui :refer :all]
|
[play-clj.ui :refer :all]
|
||||||
[play-clj.utils :refer :all]
|
[play-clj.utils :refer :all]
|
||||||
[play-clj.g2d :refer :all]))
|
[play-clj.g2d :refer :all]))
|
||||||
@@ -29,8 +30,21 @@
|
|||||||
(defn make [screen]
|
(defn make [screen]
|
||||||
(rooms/make :music :town-1
|
(rooms/make :music :town-1
|
||||||
:interactions {}
|
:interactions {}
|
||||||
:layers [(assoc (texture "dream/background.png") :x 0 :y 0 :baseline 0)]
|
:layers [(assoc (texture "dream/clouds1.png") :x -10 :y 0 :baseline -1 :parallax 0.2 :scale-x 1.1 :scale-y 1.1)
|
||||||
:entities {:clouds (assoc (particle-effect "dream/cloudy2") :x 160 :y 120 :baseline 240)}
|
(assoc (texture "dream/island.png") :x 180 :y 180 :baseline 0 :parallax 0.3 :scale-x 1.1 :scale-y 1.1)
|
||||||
|
(assoc (texture "dream/cliff.png") :x 50 :y 133 :baseline 1 :parallax 0.6 :scale-x 1.2 :scale-y 1.2)
|
||||||
|
(assoc (texture "dream/background.png") :x 0 :y 0 :baseline 2)
|
||||||
|
(assoc (texture "dream/corner-l.png") :x -10 :y -10 :baseline 240 :parallax 2.0)
|
||||||
|
(assoc (texture "dream/corner-r.png") :x (- 320 80) :y -20 :baseline 240 :parallax 3.2)]
|
||||||
|
:entities {:clouds (assoc (particle-effect "dream/cloudy2") :x 160 :y 120 :baseline 241)
|
||||||
|
:broom (assoc (texture "dream/broom.png") :x 286 :y 122
|
||||||
|
:path (catmull-rom-spline (map #(apply vector-2* %) [[286 122] [286 128]]) true)
|
||||||
|
:update-fn (partial utils/update-path-location 0.30)
|
||||||
|
:baseline 240)
|
||||||
|
:shovel (assoc (texture "dream/shovel.png") :x 33 :y 122
|
||||||
|
:path (catmull-rom-spline (map #(apply vector-2* %) [[22 122] [22 128]]) true)
|
||||||
|
:update-fn (partial utils/update-path-location 0.33)
|
||||||
|
:baseline 240)}
|
||||||
:collision "dream/collision.png"
|
:collision "dream/collision.png"
|
||||||
:scale-fn (constantly 1.5)
|
:scale-fn (constantly 1.5)
|
||||||
:start-pos [140 55]))
|
:start-pos [140 55]))
|
||||||
|
|||||||
@@ -124,6 +124,12 @@
|
|||||||
a (catmull-rom-spline! (:path entity) :value-at v pos-f)]
|
a (catmull-rom-spline! (:path entity) :value-at v pos-f)]
|
||||||
(assoc entity :x (vector-2! v :x) :y (vector-2! v :y)))))))
|
(assoc entity :x (vector-2! v :x) :y (vector-2! v :y)))))))
|
||||||
|
|
||||||
|
(defn update-path-location [speed screen entities entity]
|
||||||
|
(let [pos-f (- (* (:total-time screen) speed) (int (* (:total-time screen) speed)))
|
||||||
|
v (vector-2 0 0)
|
||||||
|
a (catmull-rom-spline! (:path entity) :value-at v pos-f)]
|
||||||
|
(assoc entity :x (vector-2! v :x) :y (vector-2! v :y))))
|
||||||
|
|
||||||
(defn find-override [entities [x y]]
|
(defn find-override [entities [x y]]
|
||||||
(first (concat (filter #(and ((:mouse-in? %) entities x y)
|
(first (concat (filter #(and ((:mouse-in? %) entities x y)
|
||||||
(:override %))
|
(:override %))
|
||||||
|
|||||||