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

gotoAndPlay MovieClip

Contributor ,
Nov 27, 2016 Nov 27, 2016

I have a button on the top layer of my Adobe Animate CC 2017 Canvas file the instance name is "btn_Button01". I have this ClickTag code which is working on the Actions layer:

this.btn_Button01.addEventListener("click", fl_ClickToGoToWebPage);

function fl_ClickToGoToWebPage() {

  window.open(window.clickTag);

}

Further down the timeline, a movieclip with an instance name "btn_Button02" fades in UNDER the button. I want to move the playhead of the movieclip when the button is rolled over. So, rollover btn_Button01 and btn_Button02 will gotoAndPlay "over". I have tried this code but it is not working. I am not sure the proper syntax to control the playhead of a movieclip when a button is rolled over. Any help would be appreciated.

stage.enableMouseOver;

this.btn_Button01.addEventListener("mouseover", fl_MouseOverHandler.bind(this));

this.btn_Button01.addEventListener("mouseout", fl_MouseOutHandler.bind(this));

function fl_MouseOverHandler()

{

  this.btn_Button02.gotoAndPlay("over");

}

function fl_MouseOutHandler()

{

  this.btn_Button02.gotoAndPlay("off");

}

TOPICS
Ad development
4.9K
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

correct answers 1 Correct answer

Advocate , Nov 28, 2016 Nov 28, 2016

Yes, I looked at your Fla; that's how I know that you don't have an instance name on both keyframes.

You have an instance name on frame 164, but not frame 151.  You need to have a matching instance name on both keyframes.

Translate
Advocate ,
Nov 27, 2016 Nov 27, 2016

For this to work, you need to add frame labels for the"over" and "off" animation frames.  Here is some basic information about frame labels: Use frames and keyframes in Adobe Animate CC

You also need parenthesis in stage.enableMouseOver();but if you have any button symbols you don't actually need to include enableMouseOver at all, because it will be automatically generated in the HTML.

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
Contributor ,
Nov 28, 2016 Nov 28, 2016

I am using frame labels. I added the parenthesis but the problem persists. This would work fine with ActionScript. Having trouble getting used to this new scripting syntax. The banner ad needs to be HTML5.

So just to be clear, I am rolling over a button. When rolled over, I want to gotoAndPlay a label of another movieclip on the main timeline that is beneath the button layer.

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
Advocate ,
Nov 28, 2016 Nov 28, 2016

Yes.  The syntax is fine and should work as you described. 

If you're still experiencing issues, please share a copy of your Fla file using Box, Dropbox, Google Drive, or something similar to make troubleshooting easier.

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
Contributor ,
Nov 28, 2016 Nov 28, 2016

Here's and .fla file. Not the actual file, but the parts that are the issue.

Dropbox - Test_160x600.fla.zip

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
Advocate ,
Nov 28, 2016 Nov 28, 2016

The code that you original posted in this thread was fine.  It should still be:

this.btn_Button01.addEventListener("mouseover", fl_MouseOverHandler.bind(this));

this.btn_Button01.addEventListener("mouseout", fl_MouseOutHandler.bind(this));

Not what's currently in your file:

this.btn_Button01.addEventListener("mouseover", fl_MouseOverHandler.bind(this.btn_Button02));

this.btn_Button01.addEventListener("mouseout", fl_MouseOutHandler.bind(this.btn_Button02));

You also need to have an instance name on both keyframes of your button in the main timeline.

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
Contributor ,
Nov 28, 2016 Nov 28, 2016

When I use the code in green, it doesn't work. Not in my actual banner or the test one I shared. When I click CMD-Return to view the animation.

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
Advocate ,
Nov 28, 2016 Nov 28, 2016

You also need to have an instance name on both keyframes of the button symbol on the main timeline.  That was your other problem.

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
Contributor ,
Nov 28, 2016 Nov 28, 2016

I do have instance names on the keyframes. Have you looked at my .fla?

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
Advocate ,
Nov 28, 2016 Nov 28, 2016

Yes, I looked at your Fla; that's how I know that you don't have an instance name on both keyframes.

You have an instance name on frame 164, but not frame 151.  You need to have a matching instance name on both keyframes.

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
Contributor ,
Nov 28, 2016 Nov 28, 2016
LATEST

Okay that did the trick. THANK YOU!

It's been awhile since I've used the timeline for tweening. I have literally programmed thousands of SWF banners. Mostly using AS for the animations. Pretty new to the HTML5 banner world. Taught myself Edge Animate and was doing banners in there, only to have it discontinued. Glad to be back in Flash. Just have to dust off my old timeline skills.

It thought that since the Action didn't show up till 164, that is the only place I needed to do the instance name, not before.

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