0
Loop swf 3 times and stop
Explorer
,
/t5/animate-discussions/loop-swf-3-times-and-stop/td-p/150297
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
I was sure that something would be posted here on writing
action script to make a flash banner loop only 3 times since this
is a fairly common standard for web banner advertising. I've been
unable to find this help or to make it work on my own.
My fla file has 85 frames. I tried adding this action script to the 85th frame, but it doesn't seem like the var increases just upon reaching frame 85. It's increasing multiple times in it's first run from frame 0 to 85. I thought it wouldn't increase until it went back to 1 and reached 85 again.
Cannot seem to get ATTACH CODE to go between paragraphs. This is my last paragraph to read after code:
There must be an easier was to achieve this, but having spent 2 hours on it and searching online, I cannot figure it out. Do you know? Oh, I should probably mention that I started out with this Action Script at Frame 1 and that didn't seem to work either.
Thanks in advance,
Kristi
My fla file has 85 frames. I tried adding this action script to the 85th frame, but it doesn't seem like the var increases just upon reaching frame 85. It's increasing multiple times in it's first run from frame 0 to 85. I thought it wouldn't increase until it went back to 1 and reached 85 again.
Cannot seem to get ATTACH CODE to go between paragraphs. This is my last paragraph to read after code:
There must be an easier was to achieve this, but having spent 2 hours on it and searching online, I cannot figure it out. Do you know? Oh, I should probably mention that I started out with this Action Script at Frame 1 and that didn't seem to work either.
Thanks in advance,
Kristi
TOPICS
ActionScript
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
LEGEND
,
/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150298#M5019
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
windowswarrior,
> I was sure that something would be posted here on
> writing action script to make a flash banner loop only
> 3 times since this is a fairly common standard for web
> banner advertising.
It's definitely a common question! Not just looping, but particularly
the number three. Since you're posting in the AS3 forum, here's an
ActionScript 3.0 solution:
http://www.adobe.com/designcenter/flash/articles/flacs3it_astimeline.html
I'm the friendly looking guy in the black-and-white photo, not the
toothy guy in the color photo. (Just having a chuckle at Tom, lol ... he
does this sort of thing to me all the time. He deserves it.)
Joking aside, flip through that tutorial and see if that makes sense to
you. If not, write back and I'll be happy to answer particular questions.
Here's a version for ActionScript 2.0, as well:
http://www.quip.net/blog/2006/flash/how-to-loop-three-times
David Stiller
Co-author, The ActionScript 3.0 Quick Reference Guide
http://tinyurl.com/2s28a5
"Luck is the residue of good design."
> I was sure that something would be posted here on
> writing action script to make a flash banner loop only
> 3 times since this is a fairly common standard for web
> banner advertising.
It's definitely a common question! Not just looping, but particularly
the number three. Since you're posting in the AS3 forum, here's an
ActionScript 3.0 solution:
http://www.adobe.com/designcenter/flash/articles/flacs3it_astimeline.html
I'm the friendly looking guy in the black-and-white photo, not the
toothy guy in the color photo. (Just having a chuckle at Tom, lol ... he
does this sort of thing to me all the time. He deserves it.)
Joking aside, flip through that tutorial and see if that makes sense to
you. If not, write back and I'll be happy to answer particular questions.
Here's a version for ActionScript 2.0, as well:
http://www.quip.net/blog/2006/flash/how-to-loop-three-times
David Stiller
Co-author, The ActionScript 3.0 Quick Reference Guide
http://tinyurl.com/2s28a5
"Luck is the residue of good design."
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
windowswarrior
AUTHOR
Explorer
,
/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150299#M5020
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
Working in Flash CS2 so I'm pretty sure it's AS3. However,
your suggestion doesn't work. It just keeps looping.
I've pasted this in a keyframe on frame 1 of ACTIONS
var loop:Number = 0;
On the last frame I've added another keyframe and edited the script slightly so that the loop doesn't go all the way to the start.
loop = loop + 1;
if (loop < 3) {
this.gotoAndPlay(85);
} else {this.stop();
}
The swf file is looping back to frame 2 and continues indefinitely.
Also found this post in a FLASH site, but perhaps it's script 2, so it doesn't stop after 3 times either.
Frame 1
var counter = 1
var maxLoop = 3
Last Frame
if(counter > maxLoop){
stop();
}else{
counter = counter + 1;
gotoAndPlay(85);
}
This script also makes the playhead return to frame 2 and loop indefinitely.
I've pasted this in a keyframe on frame 1 of ACTIONS
var loop:Number = 0;
On the last frame I've added another keyframe and edited the script slightly so that the loop doesn't go all the way to the start.
loop = loop + 1;
if (loop < 3) {
this.gotoAndPlay(85);
} else {this.stop();
}
The swf file is looping back to frame 2 and continues indefinitely.
Also found this post in a FLASH site, but perhaps it's script 2, so it doesn't stop after 3 times either.
Frame 1
var counter = 1
var maxLoop = 3
Last Frame
if(counter > maxLoop){
stop();
}else{
counter = counter + 1;
gotoAndPlay(85);
}
This script also makes the playhead return to frame 2 and loop indefinitely.
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
LEGEND
,
/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150300#M5021
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
windowswarrior,
> Working in Flash CS2 so I'm pretty sure it's AS3. However,
> your suggestion doesn't work. It just keeps looping.
Flash CS3 is the first in the Flash family to include a "CS" in the
name, so you're either working with Flash CS3 (the first to support
ActionScript 3.0) or ... maybe Flash 8? If the letter, then you'll have to
use ActionScript 2.0 or lower. But now that I'm looking at this code again,
the ActionScript 2.0 and 3.0 versions are so similar, it really doesn't
matter in this case.
Let's assume ActionScript 3.0, and we'll take it step by step.
Bear with me and start a new FLA file, because if we start from scratch,
it's a lot more likely we'll catch what's going wrong where.
1) Select File > New and choose Flash File (ActionScript 3.0).
2) Select frame 1 of the main timeline, open your Actions panel, and type
this:
var loop:int = 0;
So far, we're doing nothing more than creating a variable (happens to be
an integer) in frame 1 and setting it to 0. (Previous code showed :Number
instead of :int, and honestly, either one will do. Because this number is
only going to be an integer, :int is technically the better choice.)
3) Add a keyframe to frame 10. Enter the following ActionScript in frame
10:
loop = loop + 1;
trace(loop);
if (loop < 3) {
this.gotoAndPlay(2);
} else {
this.stop();
}
At this point, the variable, loop, is incremented by 1. The first time
this happens, its value becomes 1 (because 0 + 1 is, of course, 1). Next, a
trace() function traces the value of loop to the Output panel. You'll see
"1", without quotes, appear in the Output panel when the playhead enters
this frame.
Next, an if() statement compares the value of loop (which is currently
1) to the number 3. If it's less than 3 -- at this point, it is -- the
playhead is sent back to frame 2. Otherwise, it stops.
4) Test your movie. In short order, you should see the numbers 1, 2, and 3
appear in the Output panel. After that, nothing else -- because the
playhead has stopped at frame 10 and no longer loops.
Let me know if that happens for you.
David Stiller
Contributor, How to Cheat in Adobe Flash CS3
http://tinyurl.com/2cp6na
"Luck is the residue of good design."
> Working in Flash CS2 so I'm pretty sure it's AS3. However,
> your suggestion doesn't work. It just keeps looping.
Flash CS3 is the first in the Flash family to include a "CS" in the
name, so you're either working with Flash CS3 (the first to support
ActionScript 3.0) or ... maybe Flash 8? If the letter, then you'll have to
use ActionScript 2.0 or lower. But now that I'm looking at this code again,
the ActionScript 2.0 and 3.0 versions are so similar, it really doesn't
matter in this case.
Let's assume ActionScript 3.0, and we'll take it step by step.
Bear with me and start a new FLA file, because if we start from scratch,
it's a lot more likely we'll catch what's going wrong where.
1) Select File > New and choose Flash File (ActionScript 3.0).
2) Select frame 1 of the main timeline, open your Actions panel, and type
this:
var loop:int = 0;
So far, we're doing nothing more than creating a variable (happens to be
an integer) in frame 1 and setting it to 0. (Previous code showed :Number
instead of :int, and honestly, either one will do. Because this number is
only going to be an integer, :int is technically the better choice.)
3) Add a keyframe to frame 10. Enter the following ActionScript in frame
10:
loop = loop + 1;
trace(loop);
if (loop < 3) {
this.gotoAndPlay(2);
} else {
this.stop();
}
At this point, the variable, loop, is incremented by 1. The first time
this happens, its value becomes 1 (because 0 + 1 is, of course, 1). Next, a
trace() function traces the value of loop to the Output panel. You'll see
"1", without quotes, appear in the Output panel when the playhead enters
this frame.
Next, an if() statement compares the value of loop (which is currently
1) to the number 3. If it's less than 3 -- at this point, it is -- the
playhead is sent back to frame 2. Otherwise, it stops.
4) Test your movie. In short order, you should see the numbers 1, 2, and 3
appear in the Output panel. After that, nothing else -- because the
playhead has stopped at frame 10 and no longer loops.
Let me know if that happens for you.
David Stiller
Contributor, How to Cheat in Adobe Flash CS3
http://tinyurl.com/2cp6na
"Luck is the residue of good design."
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more

/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150306#M5027
Mar 11, 2010
Mar 11, 2010
Copy link to clipboard
Copied
Thanks David.
I have for some time been looking for a remedy for the "loop 3 times then stop". I'm a novice at Flash, you are the first person who was clear on your description and the script worked. Kudos, I probably have read 30-40 ways from different people on all kinds of sites. I think maybe you should write a book on as3 script.
Thanks again,
mr_alioto
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
windowswarrior
AUTHOR
Explorer
,
/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150301#M5022
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
Decided to bail on the animation for now so I could get the
ad to the site tomorrow. I deleted frame 1 across the board
(thereby I THOUGHT removing var counter = 1 etc.).
Tested the movie to see what other changes I might like to make AND IT WORKED. Switched back to frame 85 and only rotated 3 times.
Not sure why, but I guess I misunderstood the "start annimation in frame 2". I didn't have any content in any of the layers in frame 1 except in the ACTIONS layer. Perhaps this is not right.
When I shift selected to deleted the column of frames in all layers under frame 1, the actions from frame one move to the content of frame 2 and all former frame 2 content became frame 1. Then the script you provided worked.
Tested the movie to see what other changes I might like to make AND IT WORKED. Switched back to frame 85 and only rotated 3 times.
Not sure why, but I guess I misunderstood the "start annimation in frame 2". I didn't have any content in any of the layers in frame 1 except in the ACTIONS layer. Perhaps this is not right.
When I shift selected to deleted the column of frames in all layers under frame 1, the actions from frame one move to the content of frame 2 and all former frame 2 content became frame 1. Then the script you provided worked.
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
windowswarrior
AUTHOR
Explorer
,
/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150302#M5023
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
I think the problem happened when I tried adding in a column
of frames (new frame 1) to an already built FLA file. I did this
because you (and another help I saw) said to start the animation on
frame 2. I thought this basically meant to start the content on 2.
Perhaps this is what caused the problems.
Could you please comment on the correct way to add the script to an existing file? Obviously it's not to add a column of frames across the layers and move the existing keyframes to frame 2, and then add the script to frame 1 ACTIONS.
Perhaps this is what caused the problems.
Could you please comment on the correct way to add the script to an existing file? Obviously it's not to add a column of frames across the layers and move the existing keyframes to frame 2, and then add the script to frame 1 ACTIONS.
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
LEGEND
,
/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150303#M5024
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
windowswarrior,
> I think the problem happened when I tried adding in a column
> of frames (new frame 1) to an already built FLA file.
Shouldn't really matter -- as long as that variable declaration is
ultimately in the first frame of the FLA file.
> I did this because you (and another help I saw) said to start the
> animation on frame 2. I thought this basically meant to start the
> content on 2.
Your visual content can start in frame 1, 2, or wherever you like. The
key to the approach suggested by me (and this other suggestion you saw) is
to only allow the variable declaration to happen once. If the playhead
travels to frame 1 more than once, the loop variable will be reset back to
0, which means it will never properly increment.
> Could you please comment on the correct way to add the script
> to an existing file?
Personally, I always create a layer at the top, just for ActionScript.
I name it "scripts," and that way I know where all my code is.
> Obviously it's not to add a column of frames across the layers and
? move the existing keyframes to frame 2, and then add the script to
> frame 1 ACTIONS.
Honestly, that should have worked just fine. But maybe you had script
elsewhere that conflicted with the suggested code.
David Stiller
Adobe Community Expert
Dev blog, http://www.quip.net/blog/
"Luck is the residue of good design."
> I think the problem happened when I tried adding in a column
> of frames (new frame 1) to an already built FLA file.
Shouldn't really matter -- as long as that variable declaration is
ultimately in the first frame of the FLA file.
> I did this because you (and another help I saw) said to start the
> animation on frame 2. I thought this basically meant to start the
> content on 2.
Your visual content can start in frame 1, 2, or wherever you like. The
key to the approach suggested by me (and this other suggestion you saw) is
to only allow the variable declaration to happen once. If the playhead
travels to frame 1 more than once, the loop variable will be reset back to
0, which means it will never properly increment.
> Could you please comment on the correct way to add the script
> to an existing file?
Personally, I always create a layer at the top, just for ActionScript.
I name it "scripts," and that way I know where all my code is.
> Obviously it's not to add a column of frames across the layers and
? move the existing keyframes to frame 2, and then add the script to
> frame 1 ACTIONS.
Honestly, that should have worked just fine. But maybe you had script
elsewhere that conflicted with the suggested code.
David Stiller
Adobe Community Expert
Dev blog, http://www.quip.net/blog/
"Luck is the residue of good design."
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
windowswarrior
AUTHOR
Explorer
,
/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150304#M5025
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
Yes, I actually had 2 layers called ACTIONS, and didn't
notice it. When I deleted the 1 column of frames, I think it
disabled the other script which was on the duplicate layer.
Thanks for the help. It's nearly midnight and I'm fried. You were invaluable to me 🙂
Thanks for the help. It's nearly midnight and I'm fried. You were invaluable to me 🙂
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
LEGEND
,
/t5/animate-discussions/loop-swf-3-times-and-stop/m-p/150305#M5026
Sep 11, 2008
Sep 11, 2008
Copy link to clipboard
Copied
windowswarrior,
> Thanks for the help. It's nearly midnight and I'm fried.
Heh ... me too. I really need to start going to bed earlier. I'll be
able to soon. Nearly finished a walloping project that has taken much
longer than it should have.
> You were invaluable to me :)
Glad to help!
David Stiller
Adobe Community Expert
Dev blog, http://www.quip.net/blog/
"Luck is the residue of good design."
> Thanks for the help. It's nearly midnight and I'm fried.
Heh ... me too. I really need to start going to bed earlier. I'll be
able to soon. Nearly finished a walloping project that has taken much
longer than it should have.
> You were invaluable to me :)
Glad to help!
David Stiller
Adobe Community Expert
Dev blog, http://www.quip.net/blog/
"Luck is the residue of good design."
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more

