THANK YOU SO MUCH, so easy an answer to my problem and i could not see it.
Been really helpful, thanks again.
Diego Landro
----- Original Message -----
From: "Darrel Plant" <[EMAIL PROTECTED]>
To: "Lingo programming discussion list" <[email protected]>
Sent: Friday, March 31, 2006 3:36 PM
Subject: Re: <lingo-l> How to know when a Flash movie finished playing
Diego Landro wrote:
Thanks all for your answers. They were quite helpful. Still i keep having
this problem. When i use the member().framecount() i get 627 as result.
That is also what the flash memeber reports in its properties. But when i
test the Sprite(xx).frame i get 600 as the last frame. Problem is that at
600 the animation is not yet finished and if i skip to the next frame at
that point i don't get to see the animation complete, but still i have no
way to know when it actually finishes since i'll never get a frame number
from the flash sprite above 600. Any ideas why this is happening??
There are a lot of potential reasons for this to happen. And most of them
won't give you any information about when the animation comes to an end.
The first is that there could be ActionScript controlling some of the
movie clip animation. You can have a single-frame animation where all of
the movement is AS controlled. Counting the frames won't tell you when the
animation ends.
The second is that you could have movie clips with independent timelines
in the movie (very common). Those movie clips can run forever in a single
frame without any AS being executed.
The third is that there's a goto statement in one of the frames. Even a
starting Flash artist can put one of those in there.
None of those will give you a definitive message or information about when
the animation is over.
Here's what I'd do. Put the Flash sprite into an empty movie, make sure
it's playing in lock-step with the Director movie frame-rate, and drop a
behavior that does something like this on it:
property pFrames
on beginSprite me
pFrames = 0
end
on exitFrame me
pFrames = pFrames + 1
put pFrames
end
and watch the message window to see how many frames it takes for your
Flash movie to play itself out. Say it's 700. Then, in your final movie,
if you're waiting for the end of the Flash mvie playback:
property pFrames
on beginSprite me
pFrames = 0
end
on exitFrame me
pFrames = pFrames + 1
if pFrames > 700 then go the frame + 1
end
It means you've hard-coded the length of th emovie in rather than testing
its actual length, but unless you know the structure of the Flash movie, I
don't think you've got any way to determine whether all scripts have
completed or all movie clips have finished.
--
-------------------------------------------------
Darrel Plant, [EMAIL PROTECTED]
www.moshplant.com | www.darrelplant.com
503.241.9082 (office) | 503.490.1388 (cell)
"Those who do not learn from history are stupid."
[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/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/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!]