hide with effect

Shari shari at gypsyware.com
Sat Dec 30 20:43:36 CST 2006


I don't recall the exact details as I set this up long ago.  So I 
doubt I could help you iron out the details.  But some of the code 
that transitions from stack to stack upon launch of my program might 
give you a starting point.  This code has been working pretty well 
for a number of years:

Note that both "radial" and "explode" are custom created quicktime 
visual effects that work on Macs but not generally on Windows.  I 
created the effects, and put the effect verbiage into a custom 
property.

on openStack
   global explode,radial,winLock,gPlat

   if (the qtVersion < 1) or (gPlat is "W") then
     set dontUseQT to true
   end if

   unlock screen with visual effect "dissolve" very fast
   if qtEffects() is not empty then
     put the radial of this stack into radial
     put the explode of this stack into explode
   else
     set the dontUseQTEffects to true
     put "checkerboard" into radial
     put "iris open" into explode
   end if

  # do some other cool visual stuff while stack is open, then...

   go invisible cd "helloThere" of stack "SecondStackThatOpened"
   set the loc of stack "SecondStackThatOpened" to the loc of stack 
"FirstStackThatOpened"
   set the decorations of stack "SecondStackThatOpened" to empty
   set the icon of cd btn "Showoff" of cd "helloThere" of stack 
"SecondStackThatOpened" to "Brightlights.jpg"
   show cd btn "Blackie" of cd "helloThere" of stack "SecondStackThatOpened"
   show stack "SecondStackThatOpened"
   hide cd btn "Blackie" of cd "helloThere" of stack 
"SecondStackThatOpened" with visual effect "dissolve" very slow


end openStack

Note that cd btn "Blackie" is simply a solid black rectangle that 
fills the card.   It has no other purpose except to enhance the 
visual effects of moving from stack to stack.

SCRIPT OF STACK "SecondStackThatOpened"

on openStack
   if "FirstStackThatOpened" is among the lines of openStacks() then
     close stack "FirstStackThatOpened"
   end if
end openStack

SCRIPT OF cd "helloThere" of stack "SecondStackThatOpened"

on openCard
# other unrelated stuff deleted
     send moveOn to me in 5 ticks
end openCard

on moveOn
   go invisible stack "ThirdStackToOpen" as toplevel
end moveOn

SCRIPT OF STACK "ThirdStackToOpen"

on preOpenStack
   global winLock

   get number of controls of cd "MainCard" of stack "ThirdStackToOpen"
   set the layer of cd btn "Blackie" of cd "MainCard" of stack 
"ThirdStackToOpen" to it
   set the layer of cd btn "Blackie 2" to it
   show cd btn "Blackie" of cd "MainCard" of stack "ThirdStackToOpen"
   set the decorations of stack "ThirdStackToOpen" to "default"

   # do a bunch of other stuff

end preOpenStack

on openStack

   hide cd btn "Blackie 2" of cd "MainCard" of stack "ThirdStackToOpen"

   show stack "ThirdStackToOpen"

   hide cd btn "Blackie" of cd "MainCard" of stack "ThirdStackToOpen" 
with visual effect "dissolve"
   close stack "SecondStackThatOpened"
    wait 1 ticks


# do more other stuff

   end openStack

-- 
Gypsy King Software
Mac and Windows shareware games
http://www.gypsyware.com



More information about the use-livecode mailing list