• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 282
  • Last Modified:

need help with preload animation in flash

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
vee417
Asked:
vee417
  • 4
  • 4
  • 3
1 Solution
 
ZefferCommented:
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
 
ZefferCommented:
first example ..on frame 2 should say..gotoAndPlay(1);

Z : )
0
 
vee417Author Commented:
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
Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

 
ieciepCommented:
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
 
vee417Author Commented:
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
 
ieciepCommented:
hmmm ... try this

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

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

gotoAndPlay(1);
0
 
ieciepCommented:
or just simply write

frame 1:
----------
if(getBytesLoaded()<getBytesTotal())
{
    gotoAndPlay(1);
}
else
{
    gotoAndPlay(3);
}
0
 
vee417Author Commented:
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
 
ieciepCommented:
testing preloading:
----------------------

control > test movie

during testing...
goto View>Download Settings> 14.4
goto View>Simulate Download
0
 
vee417Author Commented:
yeah.. that's what i've been doing.  yet whatever code i put it just doesn't work.
0
 
ZefferCommented:
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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now