Import L1 (celery) as l1/
This commit is contained in:
25
l1/templates/crossfade-zoom.sexp
Normal file
25
l1/templates/crossfade-zoom.sexp
Normal file
@@ -0,0 +1,25 @@
|
||||
;; Crossfade with Zoom Transition
|
||||
;;
|
||||
;; Macro for transitioning between two frames with a zoom effect.
|
||||
;; Active frame zooms out while next frame zooms in.
|
||||
;;
|
||||
;; Required context:
|
||||
;; - zoom effect must be loaded
|
||||
;; - blend effect must be loaded
|
||||
;;
|
||||
;; Parameters:
|
||||
;; active-frame: current frame
|
||||
;; next-frame: frame to transition to
|
||||
;; fade-amt: transition progress (0 = all active, 1 = all next)
|
||||
;;
|
||||
;; Usage:
|
||||
;; (include :path "../templates/crossfade-zoom.sexp")
|
||||
;; ...
|
||||
;; (crossfade-zoom active-frame next-frame 0.5)
|
||||
|
||||
(defmacro crossfade-zoom (active-frame next-frame fade-amt)
|
||||
(let [active-zoom (+ 1.0 fade-amt)
|
||||
active-zoomed (zoom active-frame :amount active-zoom)
|
||||
next-zoom (+ 0.1 (* fade-amt 0.9))
|
||||
next-zoomed (zoom next-frame :amount next-zoom)]
|
||||
(blend active-zoomed next-zoomed :opacity fade-amt)))
|
||||
Reference in New Issue
Block a user