IMPORTANT: THIS THREAD HAS BEEN REFERENCED RECENTLY (AS OF MARCH 30 2005 ACCORDING TO CENTRAL STANDARD TIME) FOR DISCUSSION PURPOSES. MOST LINKS NO LONGER WORK, HOWEVER, SO I MAY EVENTUALLY HAVE TO DECIDE WHETHER TO REOPEN THIS TOPIC AND RELINK (OR RECREATE) THESE EXAMPLES AT MY DISCRESTION IF I CAN LOCATE THEM. PLEASE TREAT THIS THREAD AS A REFERENCE FOR HISTORIC AND INFORMATIVE PURPOSES ONLY, AS YOU WOULD WITH ANY ARCHIVED DOCUMENT ON THE INTERNET.
THANKS,
JEFFREY DAVIS
Finally got some headway with loading movies. Here are the two newest examples I've got (and they so far seem to work).
using getFramesLoaded() < 193 comparison (that is, 193 is the number of frames but getFramesTotal() does the same thing): http://crhs.ods.org/jeffrey/test302.html
This is the same as I had before with added weight and a few changed tricks. These two were actually believable on my laptop at 56k running Windows Me (my server is an Apache derivative running on Windows XP Pro)!
If we could use something like this, though...
"If Frame Is Loaded (Scene 11, 193, Go to and Play (Scene 2, 4))
...we could do it the MX way. However, I could not as it gave me everything from "frame is object and can't be used" and "exception parsing line" while running in the editor and some of these errors prevented compilation or in-editor tests. For the sake of compatibility, we need this crap in some form inside of 3DFA! Why we don't is beyond me.
It does NOT seem to work well. I see a blank page for about 60% of the load then a screen text "This will take a sec" followed within a second by the TEST test test stuff
It should be loading the sound along with everything else. I'll check it. As for the text, it's supposed to flash on and off. That's because this IS a test. And yes, those are the results I got - I meant to do that.
OH, WONDERING WHAT I DID?
I used the aforementioned techniques in action objects instead of scripts! The action objects are attached to the first scene, and those check how much has been loaded. If everything's loaded A-OK, the text goes and the flashing image and test text shows and starts flashing. 'Course, you could do the same thing with an embedded movie, but I chose to do it with only the core movie - I didn't insert any of those like v3.72 does.
AND ANOTHER THING TO CONSIDER:
I saw a post in tutorials for flash MX users where this kind of thing works, except MX uses this to do the same thing:
If Frame Is Loaded (<Scene>, Frame)
<Action>
End Frame Loaded
3DFA seems to lack an equivalent to this.
ONE LAST THING:
I decided to try an embedded movie to see how that goes. Try it here: http://crhs.ods.org/jeffrey/test400.html
This one uses if (getBytesLoaded() != getBytesTotal()). If that checks (it's not done) it does this: { gotoAndPlay(Scene 1) }. Or else it does this: { gotoAndPlay(Scene 3) }
And all italics in the description are the code in the instruction action used to make this determination.
I'll check it out later. Meanwhile, I'm beginning to think we need "if frame is loaded" in some way added to 3DFA for this to be able to work, if necessary. Until I check this, we'll likely not know if that is needed.
I checked it out and it sort of works. It does load the text and wait on my laptop (on the server it skips the loading text which is okay) but it obviously just waits until the loading text is loaded.
ANOTHER THING TO CONSIDER:
I got the best results with my laptop which I used to dial at 56K to test the movies. Those were the most believable tests. On cable/dsl connections they likely take a shorter amount of time to show the wait text or (in the case of the test400 file) not at all. That's normal.
OOPS!
Had to correct a typo - i said "fine" instead of "file" originally.
The sound starts at the same time as the 'Test' screen.
It goes very quickly from 'Wait' to 'Test' for me, because I'm on cable, but the principle is good.
Like I said it loads the wait text first then goes to the animation. The latest example includes a text scroller that says "this is a preloader-equipped test" and all that jazz. It does go fast on the wait text on a fast connection, however, simply because of the nature of high-speed connections (cable, T1, DSL, etc.) This is just a simple test, no large downloads.
I'm having trouble getting the load script onto this one since Flash Player comes up and says it runs too slow, so I took the script out for now.
UM, NEVER MIND THAT LAST QUIP:
It was actually exporting to the location the .movie file itself was saved. I finally caught that and exported to my web store instead the next couple of times to fix it. It works fine now, so it does have the script in it after all. I had initially been using the wrong technique to do it, nothing serious (well, almost nothing serious)...
I took the latest source file you posted, and added a huge download to it for a test. I'm afraid the 'Just wait a sec' text didn't appear for ages, and still only showed for an instant, so I don't think the method works properly.
I may be wrong, but it looks as though we're not quite there yet.
Can someone with a slow connection confirm or deny it?
EDIT: I take it all back. The alphabet one looks better. Does it use the same method?
Morgan
Last edited by ForumNewbie; 05-14-2003 at 02:24 PM.
Actually, YES. Well, it's pretty close except for the fact that the code is a little different.
The code used in that one goes like this:
Code:
if (getBytesLoaded() == getBytesTotal()) { gotoAndPlay (Scene 2) } else { gotoAndPlay (Scene 1) }
//from the alphabet movie
Previously I did it like this:
Code:
if (getBytesLoaded() != getBytesTotal()) { gotoAndPlay (Scene 1) } else { gotoAndPlay (Scene 3) }
//from the test flasher and scroller movie
Same idea, either way!
UPDATE ON THIS POST:
I checked using my laptop to view the alphabet movie and it worked like I expected! There IS a delay until the "wait" message appears, but it is still loading (and the busy animation is still running in the browser navigation bar) until the main movie starts (with the phrase Hey kids! that starts it off) which takes a minute or two at 56K. On my cable connection (and my work computer is also the server) it skips the "wait" text entirely. That ought to tell you something...
Here's a new version of the alphabet movie. This time the letters are spoken and stop for a few seconds for sound matching, but everything else is the same. I did have a few problems recording the M and some of the letters aren't spoken real loud, but I tried my best to record the sounds properly.
It takes a little over a minute or two to load at 56K but it does show its "One moment please" message at one given point while it's working so that you know it's not quite loaded.
I would also like to add that I use the load status checker in an instruction delimiter inside of an actions numeration in the first scene to make sure it is all loaded before going to the next scene in sequence.
Just a thought. Has anyone tried creating the main movie as a seperate movie from the loadmovie, loading the loadmovie with the loading message first, showing the loading message, and THEN loading the main movie using the loadMovie() function?