animate light to dark
Scott Rossi
scott at tactilemedia.com
Tue Sep 13 22:57:06 EDT 2005
Recently, Michael J. Lew wrote:
> I am trying to get a smooth animation of a background going from
> light to dark (and vice versa), but I'm having trouble making it fast
> enough, smooth enough and flicker-free.
> ...
> What I need is to have a large dark region behind some images get
> light over about half a second so that the transition doesn't look
> too amateurish. I also need to be able to respond to messages while
> the change in darkness is occurring.
This last line is a significant hurdle. Being able to respond to messages
means you can't use any of the built-in transitions. So you are correct to
attempt to build the transition yourself.
> I've tried playing with fill
> colors of buttons and fields and with blendlevels of an image. I also
> tried the straightforward approach of simply stacking a sequence of
> buttons with different fill colors and hiding or showing them in
> sequence. For every approach I've tried the transitions are good
> enough with small areas, but when the objects are made large enough
> for my purposes they are slow and yukky.
Doing visual changes over large areas does indeed require more
overhead/resources, as will accounting for a lot of controls. As far as
what you describe above goes, here are some more efficient options:
1) use a large image set to solid black (or whatever color is appropriate),
and set its blendLevel repeatedly from 100 to 0 and then back to 100 again.
Something like:
on mouseUp
initFader
fadeCard
end mouseUp
on initFader
put "" into fCount
set blendLevel of img myFader to 100
end initFader
local fCount
on fadeCard
if fCount = "" then put 1 into fCount
set the blendLevel of img myFader to abs(100 - (fCount * 5))
# ADD YOUR ROUTINES HERE
if fCount < 40 then
add 1 to fCount
else
initFader # MAKE CERTAIN MYFADER IS NOT VISIBLE
exit fadeCard
end if
send "fadeCard" to me in 10 millisecs
end fadeCard
2) use a button (with all visible properties disabled) as an image display
and set its icon repeatedly to a sequence of images as above (solid color
images will be the most efficient)
3) depending on what's happening on your card, you might be able to
repeatedly set the backColor of the card from light to dark and light (as
above) but obviously this will not obscure any controls on the card
4) you might consider giving up the fade transition all together and instead
simply lock the screen while popping up a separate "activity" window that
displays an animation to draw users' attention away from the updating window
Hope this helps.
Regards,
Scott Rossi
Creative Director
Tactile Media, Multimedia & Design
-----
E: scott at tactilemedia.com
W: http://www.tactilemedia.com
More information about the use-livecode
mailing list