Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Fl8: If, then, else statements?

Explorer ,
Nov 30, 2006 Nov 30, 2006
What is the actionsript for doing this. Something to do with If,Then, Else statements:

If movieclip1 has played and reached frame 60,
Then when button1 is clicked, movieclip2 is played,
else if movieclip1 has not played and reached frame 60, and button1 is clicked,
Then a msgbox will pop up on screen with some text to tell u that.

P.S. I guess the code is suppose to go on button1? Please help me. Thanks
TOPICS
ActionScript
710
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Nov 30, 2006 Nov 30, 2006
You can use the (moviclip1._currentframe == 60) condition to find out its reached the 60th frame or not !
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2006 Nov 30, 2006
Thanks for that. Still stuck though. this is what I wrote:

If (_root.Boatmc._currentframe == 60) {
then on(release)
gotoAndPlay (20) }
{ else

- _root.boatmc returns an error, and after 'else' I don't know what to write. any ideas?
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2006 Nov 30, 2006
IF ( ) {

} ELSE {

}
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Nov 30, 2006 Nov 30, 2006
well, it appears that you have the syntax wrong here, and a few other things. First ace the use of _root, it's not necessay. Retitle the instance name of 'Boatmc' to 'Boat_mc' AS will read it better as a MovieClip (just convention). Next there are no "then" statement keywords used in AS. An 'onRelease statement must be associated with a button or MovieClip.

So you need to restructure things a little bit. If you want this action to happen on the press of the button1, first of all name the instance "button1_btn" or something like that. then write on the first frame of the timeline ...

button1_btn.onRelease = function() {

if(Boat_mc._currentframe == 60) {
movieclip2.gotoAndPlay(20);
}else{
alertclip_mc.visible = true;
}

}

Now 'alertclip_mc' is your message MovieClip that you must create, there are other ways to accomplish this, but it's just as easy to do this in the context of your SWF than use a Java function. Also a 60 frame clip would only take a few second to complete therefore, i don't really see the need to have an alert to inform the viewer that it's not completed, by the time they read the alert the clip will be done playing. I would think that you could just 'disable' the button until the clip completes, then 're-enable' the button afterward. Also if creating an 'alertclip_mc', you will need a method to turn it off, so on the last keyframe write something like...

this.visible = false;

and it will go away.
anyway all I can do for now.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Nov 30, 2006 Nov 30, 2006
do not use CAPS for your 'if' and 'else' keywords.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2006 Nov 30, 2006
hi cbeech.

the code you have given me should work. there are no syntax errors. But for some reason, when the movie is played, and I select the button, nothing happens. My guess is something to do with the frame 60? Movieclip1 does play all the way to frame 60. I put all the animations within this movieclip1.

i dont understand why it doesnt work. any ideas?
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2006 Nov 30, 2006
I think I might know what the problem is. i need it to say when the movieclip1 has played up to frame 60 INSIDE of that movieclip. Not outside of it if that makese sense. thats probably why it isn't working? How do you do that?
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Nov 30, 2006 Nov 30, 2006
It's hard to tell without seeing the rest of your SWF structure, can you post a link to the file?

I'm just guessing here, but do you have a stop(); action on frame 60?
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2006 Nov 30, 2006
Yes there is a stop() action on frame 60 to answer your question.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Nov 30, 2006 Nov 30, 2006
OK, got the file. I see what your trying to do now, however I'm sorry to say that we've got a ways to go. yes i see the stop() on frame 19 of the lockwater MC. but all statement must end with " ; " semi-colon as in, "stop(); " the frame that your calling on is 19 not 60, and I noticed that you have keyframed the animation individually, there are some much more efficient ways to accomplish this, firstly by using the "createMotionTween' and "createShapeTween" comands, and it will change from one shape or postion to another automatically, wherein you can also provide easing functions to animate things with more control. there are also ways in which to create Tweens using AS, but let's stick to the basics for now.

Also, I noticed on first inspection that most of you MC clips and buttons do not have instance names, and individual action layers. It's a 'best practice' not to put your code on frame that contain drawing or movieclip symbols.

give me a little time with this and I can work some things out for you, and help you get moving in the right direction.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 30, 2006 Nov 30, 2006
LATEST
Ok. Thanks for that.

P.S. you can email me straight away with the email address I gave you if you like (instead of going through the forum)!

Thanks again!
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines