Solved

need help with preload animation in flash

Posted on 2007-04-04
12
224 Views
Last Modified: 2010-04-03
i'm working on a flash movie and i'd like a preload animation (something that says "loading").  i put a movie clip of the animation i want in the first frame on a layer.  the rest of the movie starts on frame 3.  then i tried two things.  first i tried putting this as an action on the first frame:
ifFrameLoaded(_totalframes){
 gotoAndPlay(3);
}

and this on the 2nd frame:
gotoAndPlay(1);

that didn't work so i tried putting this on the 2nd frame and nothing on the first:
if (_framesloaded < _totalframes) {
    gotoAndPlay(1);
} else {
    gotoAndStop(3);
}
i also put stop(); on the 3rd frame.  i tried this method with "this." in front of everything as well.

for both, when i did control > text movie, the preload animation wouldn't play at all.  and then when i pressed rewind, it would play indefinitely and the actual movie would never load.

what am i doing wrong?

thanks.
0
Comment
Question by:vee417
  • 4
  • 4
  • 3
12 Comments
 
LVL 23

Expert Comment

by:Zeffer
Comment Utility
your second one would work if you put it on frame 1 and changed the 'if'  statement to ..   >=    (greater than or equal to)... instead of..   <   .. (less than).

frame 1

if (_framesloaded >= _totalframes) {
    gotoAndPlay(1);
} else {
    gotoAndStop(3);
}

frame 2

gotoAndPlay(2);

just a note .. totalframes is now deprecated... in favour of bytesLoaded

so if you used the current format it would be..

frame 1
if (bytes_loaded >= bytes_total) {
      gotoAndPlay(1);
} else {
    gotoAndStop(3);
}

frame 2

gotoAndPlay(1);


Z


0
 
LVL 23

Expert Comment

by:Zeffer
Comment Utility
first example ..on frame 2 should say..gotoAndPlay(1);

Z : )
0
 

Author Comment

by:vee417
Comment Utility
are you sure you've got the >= part right?  if they're equal, shouldn't it gotoAndStop(3) and not gotoAndPlay(1) ?  also, bytes_loaded didn't seem to be a variable but bytesLoaded is i think.

anyway, i tried it both the way you have it and with changing >= and bytesLoaded.  neither worked.. i got the same problem as before in both cases.  i really don't get it, it seems like this should work.
0
 
LVL 3

Expert Comment

by:ieciep
Comment Utility
It should be

frame 1:
----------

if (_framesloaded >= _totalframes)
{
    gotoAndPlay(3);
}
else
{
    gotoAndPlay(1);
}

frame 2:
----------

gotoAndPlay(1);

i think Zeffer have mistakenly written gotoAndPlay(1) if _framesloaded are >= _totalframes.

Regards,
Riz
0
 

Author Comment

by:vee417
Comment Utility
still no luck :(

maybe it's the movie tester that's the problem?  or maybe i need to put some actions in the movie clip that's on the first frame?
0
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
LVL 3

Expert Comment

by:ieciep
Comment Utility
hmmm ... try this

frame 1:
----------
if(_root.getBytesLoaded()<_root.getBytesTotal())
{
    gotoAndPlay(1);
}
else
{
    gotoAndPlay(3);
}

frame 2:
----------

gotoAndPlay(1);
0
 
LVL 3

Expert Comment

by:ieciep
Comment Utility
or just simply write

frame 1:
----------
if(getBytesLoaded()<getBytesTotal())
{
    gotoAndPlay(1);
}
else
{
    gotoAndPlay(3);
}
0
 

Author Comment

by:vee417
Comment Utility
still repeats the preload animation indefinitely when i click rewind :( .  there must be something wrong besides the code on the first 2 frames.

when i open up the animation normally (not in control > test movie), it works fine but the preload animation doesn't show up at all.  perhaps this is because it loads too quickly.  so maybe the issue is with the movie tester.  but then how should i test the preload animation?
0
 
LVL 3

Expert Comment

by:ieciep
Comment Utility
testing preloading:
----------------------

control > test movie

during testing...
goto View>Download Settings> 14.4
goto View>Simulate Download
0
 

Author Comment

by:vee417
Comment Utility
yeah.. that's what i've been doing.  yet whatever code i put it just doesn't work.
0
 
LVL 23

Accepted Solution

by:
Zeffer earned 125 total points
Comment Utility
thanks Riz.. yes stuffed that up..small error in yours as well..
----------
if(getBytesLoaded()<getBytesTotal())
{
    gotoAndPlay(1);  //  the player is not moving off frame 1

so vee try..
frame1..

if(this.getBytesLoaded()==this.getBytesTotal()){
    gotoAndPlay(3);
}

frame2
gotoAndPlay(1);

Z



0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

I know the transition can be hard. We got used to the ease of use ActionScript 2 had, but honestly, it became problematic later on, especially if designers were involved in the project and found it easy to add code as they saw fit. So, this artic…
I have been doing hardcore actionscripting for some time; and needless to say I have faced a lot of problems in just understanding others' code rather than understanding what the code executes. A programmer's life can become hell when there are a lo…
In this tutorial viewers will learn how to create a basic motion tween animation in Flash Open a new document in Flash: Draw/import an image: Press CTRL + F8 to convert it into a graphic symbol: Select a frame (how long you want the tween to last): …
The goal of the tutorial is to teach the user how to select which audio input to use. Once you have an audio input plugged into the laptop or computer, you will go into the audio input settings and choose which audio input you want to use.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now