From: Mike Blaustein on
It depends on how you set up your scripts and how much error checking
you do. If you have a script like this:


global gList
on startMovie me
gList=[1,2,3,4]
end


Then, on frame 1, you have a text sprite that shows the 1st value in
that list:

global gList
on beginSprite me
sprite(me.spriteNum).member.text=string(gList[1])
end

Then, in some cases, beginsprite will fire before startMovie, and you
will get an error since gList is void.

If you are smarter about your coding, you would check that gList exists
before setting the text... that would avoid the error
From: Dave C on
According to the documentation, it looks like this is how it was
designed to work. I guess it can't be considered a bug then.

------------------------------------------

When the movie first starts, events occur in the following order:

1 prepareMovie

2 beginSprite

This event occurs when the playback head enters a sprite span.

3 prepareFrame

Immediately after the prepareFrame event, Director plays sounds, draws
sprites, and performs any transitions or palette effects. This event
occurs before the enterFrame event. An on prepareFrame handler is a good
location for Lingo that you want to run before the frame draws.

4 startMovie

This event occurs in the first frame that plays.
From: Production Monkey on
BeginSprite() always happens before StartMovie for sprites on frame 1. That is not a bug. It is the way it works.

PrepareMovie -> All BeginSprites on frame 1 -> StartMovie.
From: Dave C on
You are right. Seems counter-intuitive but it is documented that way.
From: Mike Blaustein on
OK. It's not a bug. It is a terribly-thought-through feature - which
is why when I called it a bug I said it is a bug (feature).

I think it was originally considered a bug way back when and they
"fixed" it by adding prepareMovie which works the way you would expect it.

Semantically, one would expect that startMovie is something that
happens... um.. right when the movie starts... before the score ever
starts to load. But it isn't. That's my point.