Thanx Chris for posting this query and Tab for solving it "in his head". 
Been looking for the same thing for the longest time!


Regds

Dimple

>From: "Chris McCoy" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: Re: <lingo-l> Urgent and tough .....Please Help
>Date: Sun, 06 May 2001 05:49:02 -0000
>
>Thanks man you saved me.
>You really did.
>I got what you mean.
>Thanks a lot.
>
>
>>From: Tab Julius <[EMAIL PROTECTED]>
>>Reply-To: [EMAIL PROTECTED]
>>To: [EMAIL PROTECTED]
>>CC: [EMAIL PROTECTED]
>>Subject: Re: <lingo-l> Urgent and tough .....Please Help
>>Date: Sat, 05 May 2001 22:32:10 -0400
>>
>>
>>What you want is a basic stack.  It looks like this:
>>
>>on push info
>>   global stack
>>
>>   if (voidP(stack)) then
>>     stack =[]
>>   end if
>>
>>   add(stack, info)
>>end
>>
>>
>>
>>on pop
>>   global stack
>>
>>   if (voidP(stack)) then
>>     stack =[]
>>   end if
>>
>>   -- If stack is empty, you have nothing to return.  You can return VOID,
>>or #empty,
>>   -- or whatever works for you.  You could give an alert or just have a
>>silent return.
>>   numItems =count(stack)
>>   if (numItems =0) then
>>     alert "Pops exceed pushes!"    -- Or make a put statement, or
>>something to let you know there's no more back
>>     return(VOID)
>>   end if
>>
>>   -- Otherwise there's something to return
>>   info =stack[numItems]            -- Retrieve the last entry
>>   deleteAt(stack, numItems)        -- then kill it from the stack
>>
>>   return(info)                     -- Send it back
>>end
>>
>>
>>so, to use it, you push whatever information you want to store.  This 
>>could
>>be a frame number, or a label, or whatever.  Then, when they click the 
>>back
>>button, you pop off the info, and go to whatever it is.
>>
>>So, as an example, when they click to go somewhere, you have a script
>>attached to the button that first, before you relocate, remembers where 
>>you
>>are.  Let's say for the sake of this demonstration that it's the frame
>>number (easy enough).  So it's:
>>
>>on mouseUp
>>   -- This is attached to the button that takes you somewhere
>>
>>   push(the frame)
>>
>>   -- Now relocate, etc...
>>end
>>
>>
>>
>>The back button, however, will retrieve the information, and go to it.
>>
>>on mouseUp
>>   -- This is specific to the back button.
>>
>>   lastLoc =pop()
>>   if (voidP(lastLoc)) then
>>     alert "Can't go back any further!"
>>     return
>>   end if
>>
>>   -- Otherwise, it's good
>>   go to frame lastLoc
>>end
>>
>>
>>I haven't tested this specific code out - just did it in my head - but it
>>should be fine.
>>
>>- Tab
>>
>>
>>At 01:22 AM 5/6/01 +0000, Chris McCoy wrote:
>>>Hi everybody.
>>>I have this  problem...
>>>I intend to implement a Back Button for my multimedia cd rom.
>>>It's made with Director 8 and i want to add some smart features in it.
>>>I searched the web for available tips and tricks and i came up with this
>>>code:
>>>
>>>
>>>property spriteNum
>>>
>>>global gBackList, gBack
>>>
>>>on prepareFrame me
>>>if gBack = void then set gBack = false
>>>if gBackList = void then set gBackList = []
>>>if spriteNum < 1 then
>>>   --framescript
>>>   set totalBacks = count(gBackList)
>>>   if gBack = false then
>>>     --did not come from back button
>>>     if totalBacks > 0 then
>>>       set lastEntry = getAt(gBackList, totalBacks)
>>>     else
>>>       set lastEntry = ["", 0]
>>>     end if
>>>     if lastEntry <> [the moviePath & the movieName, the frame] then
>>>       --not thecurrent frame, add tothe list
>>>       add gBackList, [the moviePath & the movieName, the frame]
>>>     end if
>>>   else
>>>     --came from the back button.  Remove last entry
>>>     deleteAt(gBackList, totalBacks)
>>>     set gBack = false
>>>   end if
>>>end if
>>>end
>>>
>>>on mouseUp me
>>>if gBack = void then set gBack = false
>>>if gBackList = void then set gBackList = []
>>>if spriteNum >= 1 then
>>>   --is a button
>>>   if count(gBackList) > 1 then
>>>     --there are back locations
>>>     set gBack = true
>>>     set destination = getAt(gBackList, count(gBackList) - 1)
>>>     if the moviePath & the movieName = getAt(destination, 1) then
>>>       --same movie
>>>       go to frame getAt(destination, 2)
>>>     else
>>>       --different movie
>>>       go to frame getAt(destination, 2) of movie getAt(destination, 1)
>>>     end if
>>>   end if
>>>end if
>>>end
>>>
>>>on getBehaviorDescription me
>>>return "Drop this behavior on the framescript of each frame you want ot 
>>>be
>>>included in the back button history.  Also drop it on the back button and
>>>the script does the rest."
>>>end
>>>
>>>
>>>The author of this code doesn't give much explanation of how to use it 
>>>...
>>>
>>>It is quite obvious that this script works only if in your movie you have
>>>only buttons and the script...
>>>Does anyone has the script for all cases....
>>>I am asking much here i know...!!!
>>>But if this someone has the solution to my problem
>>>it would be very appreciated if he/she shares it with me...
>>>Any recomentations?
>>>Thanks for your time....
>>>
>>>
>>>
>>>_________________________________________________________________________
>>>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>>>
>>>
>>>[To remove yourself from this list, or to change to digest mode, go to
>>>http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
>>>email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
>>>Lingo-L is for learning and helping with programming Lingo.  Thanks!]
>>>
>>
>>
>>[To remove yourself from this list, or to change to digest mode, go to
>>http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
>>email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
>>Lingo-L is for learning and helping with programming Lingo.  Thanks!]
>>
>
>_________________________________________________________________________
>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>
>
>[To remove yourself from this list, or to change to digest mode, go to
>http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
>email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
>Lingo-L is for learning and helping with programming Lingo.  Thanks!]
>

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo.  Thanks!]

Reply via email to