From 8e5233035145ee9d7684b590a7c6184937c38638 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 27 Jul 2018 12:35:05 +0200 Subject: Fade when teleporting. --- scenes/game.scm | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/scenes/game.scm b/scenes/game.scm index 7ec2306..ac6d7df 100644 --- a/scenes/game.scm +++ b/scenes/game.scm @@ -229,23 +229,42 @@ positions layer." (define (handle-action player) "Check if the PLAYER is on any region of the map where an action can be executed; if so, perform the action." - (let ((game (parent player))) + (let* ((game (parent player)) + (fade (child-ref (parent game) 'fade-box))) (and=> (collides? player game "actions") (lambda (obj) (match (map-object-name obj) ("enter-house" (let ((house-pos (location game "house"))) - (teleport player - (vec2-x house-pos) - (vec2-y house-pos))) - ;; TODO: change music? - (pause-music)) + (script + (tween 15 0.0 1.0 + (lambda (alpha) + (set! (color fade) + (make-color 0 0 0 alpha)))) + (teleport player + (vec2-x house-pos) + (vec2-y house-pos)) + ;; TODO: change music? + (pause-music) + (tween 15 1.0 0.0 + (lambda (alpha) + (set! (color fade) + (make-color 0 0 0 alpha))))))) ("exit-house" (let ((exited-house-pos (location game "exited-house"))) - (teleport player - (vec2-x exited-house-pos) - (vec2-y exited-house-pos))) - (resume-music)) + (script + (tween 15 0.0 1.0 + (lambda (alpha) + (set! (color fade) + (make-color 0 0 0 alpha)))) + (teleport player + (vec2-x exited-house-pos) + (vec2-y exited-house-pos)) + (resume-music) + (tween 15 1.0 0.0 + (lambda (alpha) + (set! (color fade) + (make-color 0 0 0 alpha))))))) ("talk-to-reaper" (start-talking player (child-ref game 'reaper))) -- cgit v1.2.3