chorus. cool.
This commit is contained in:
@@ -11,6 +11,12 @@
|
||||
[play-clj.ui :refer :all]
|
||||
[play-clj.utils :refer :all]
|
||||
[play-clj.g2d :refer :all]))
|
||||
(defn get-chorus-volume [entities]
|
||||
(let [ego (get-in entities [:room :entities :ego])]
|
||||
(if (> (:y ego) 112)
|
||||
0.0
|
||||
(* (max 0.0 (- 1.0 (/ (utils/dist 45 97 (:x ego) (:y ego)) 50.0)))
|
||||
(- 1.0 (get-in entities [:fade :opacity]))))))
|
||||
|
||||
(defn bloodclot-appear [entities]
|
||||
(actions/run-action entities
|
||||
@@ -302,12 +308,13 @@
|
||||
:fn (fn [screen entities]
|
||||
(let [magic (get-in entities [:room :entities :magic])]
|
||||
(cond (nil? magic)
|
||||
(assoc-in entities [:room :entities :magic] (assoc (doto (particle-effect "inside-castle/magic")
|
||||
(particle-effect! :reset)
|
||||
)
|
||||
:x 25
|
||||
:y 112
|
||||
:baseline 240))
|
||||
(do
|
||||
(assoc-in entities [:room :entities :magic] (assoc (doto (particle-effect "inside-castle/magic")
|
||||
(particle-effect! :reset)
|
||||
)
|
||||
:x 25
|
||||
:y 108
|
||||
:baseline 240)))
|
||||
(particle-effect! magic :is-complete)
|
||||
(do
|
||||
(doto magic
|
||||
@@ -414,6 +421,7 @@
|
||||
(actions/give entities :monocle)
|
||||
(actions/talk entities :ego "It looks like a monocle."))}))
|
||||
|
||||
:chorus {:sound (sound "inside-castle/chorus.wav")}
|
||||
:collision "inside-castle/collision.png"
|
||||
:scale-fn (utils/scaler-fn-from-image "inside-castle/scale.png" 0.25 1.00)
|
||||
:apply-state (fn [entities]
|
||||
@@ -426,5 +434,25 @@
|
||||
entities)
|
||||
(if (= :night (get-in entities [:state :time]))
|
||||
(make-night entities)
|
||||
entities)))
|
||||
entities)
|
||||
#_(let [chorus
|
||||
instance (sound! chorus :loop 0.0)]
|
||||
(-> entities
|
||||
(assoc-in [:room :chorus :sound] chorus)
|
||||
(assoc-in [:room :chorus :instance] instance)))))
|
||||
:update-fn (fn [screen entities]
|
||||
(let [chorus-volume (get-chorus-volume entities)]
|
||||
(if (= 0.0 chorus-volume)
|
||||
(if (get-in entities [:room :chorus :instance])
|
||||
(do (sound! (get-in entities [:room :chorus :sound]) :stop)
|
||||
(update-in entities [:room :chorus] dissoc :instance))
|
||||
entities)
|
||||
(let [chorus (get-in entities [:room :chorus])]
|
||||
(if (:instance chorus)
|
||||
(do (sound! (:sound chorus) :set-volume
|
||||
(:instance chorus)
|
||||
chorus-volume)
|
||||
entities)
|
||||
(assoc-in entities [:room :chorus :instance] (sound! (:sound chorus) :loop
|
||||
chorus-volume)))))))
|
||||
:start-pos [245 90])))
|
||||
|
||||
Reference in New Issue
Block a user