On Monday, Sep 15, 2003, at 13:13 America/Chicago, Kristian wrote:

It wasn't that straightforward, as it turned out. The QT sprite was
loaded in frame 1 of Kristian's MIAW, and essentially hadn't fully got
itself onscreen in time to receive his script's movieRate command. The
solution appears to have been to move the QT sprite into frame 2 and
give it a beginSprite call that set the movieRate there.

Now I need to ask this. I'm sure you are right about the QT sprite not getting fully loaded and your solution helped me, but should it play even if it isn't fully loaded? Cause that is what happened... can it start to play with the movieRate but still not fully load? (thinking about that the controls didn't respond but it played)

I should have made it more clear; mea culpa. Ideally a QT video will in fact stream off disk in playback, but Director itself needs a few ticks to initialize the sprite and its parameters. Thus all the code functions you can apply to a QT sprite might not be available the instant it appears onscreen, particularly if it's loading in frame 1 of a MIAW, because of course Director has to set up and load the MIAW before it can do anything at all with the QT.


In general if you have a lot of code-driven components you want running in a MIAW, it's a good plan to load, in frame 1, just the background graphics. A sort of static screen that doesn't do anything except present the user with something to look at. Put the code-driven stuff in frame 2 or later.

It's a good idea to have your projectors (main movies) do the same thing. Years ago it was actually a bad idea to have any code taking place in either the very first frame of a movie, or the very last one (assuming truly linear playback). That's not such a limitation any longer, but since it does take time for the extra sprites with their code to get into memory (or back out of it again), you can cover the apparent initialization/de-init lag by putting dead graphics onscreen in frame 1 or the last frame.

Kerry also mentioned something about your Flash sprite and how it closes your MIAW. Self-forgetting MIAWs will crash in playback with almost total consistency, so make sure your MIAW is not 'forgetting' itself or telling the stage to forget itself. Either one will kill your app almost instantly.

Jakob Hede Madsen has posted (to Direct-L, I believe) an elegant and simple workaround to this problem that involves using a timeout object. Search the D-L archives for more on that.


Warren Ockrassa | President, nightwares LLC [EMAIL PROTECTED] nightwares LLC | Consulting Programming http://www.nightwares.com/ Author | Director 8.5 Shockwave Studio: A Beginner's Guide Chapter samples | http://www.nightwares.com/director_beginners_guide/

[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!]

Reply via email to