Access Button contained in a movie clip

This is for beginners or those not familiar or having
diffculty with getting embedded buttons to work.
This is a how to on using actionscript in your main time line
that listens for events for button(s) located inside of a
movieclip.
I spent hours trying to figure out why I could not access my
button that was inside of a movie clip from the main ROOT or
_level0 of my scene. When I placed the AS inside the movieclip that
the button was inside of, the button worked but when I put the same
code, no changes, on the main timeline nothing happened.
myMovie_mc.myButton_btn.onRelease = function() {
trace("The Button Works!");
Your can also use onPress, onRollOver or any of the button
actions you would if you created the AS on the button itself.
myMovie_mc.myButton_btn.onRelease = function() {
function() part of the code can also be function():Void
First you tell flash where the button is located. Starting
from the main timeline you start with the name of the movie. This
is where I had trouble and why my buttons did not work. This part
of the code is the INSTANCE name NOT the label you named the movie
that displays in the library.
CREATE AN INSTANCE NAME on the movie clip. Select the movie,
in the properties bar you will see a field where you place the
instance name. I always end the name with _mc, or _btn to tell me
that it is a movie or a button so when I go back through the AS I
know what that object is that is being referenced.
myMovie_mc <-- This is the INSTANCE NAME of the movie clip
myButton_btn <-- This is the name of the button INSTANCE
NAME that resides inside the myMovie_mc movie clip
onRelease <-- This is the event listened for, it could
also be onPress, onRollOver or any other button events
= function() <-- This is needed and tells flash that this
code is treated as a function so that when the event happens, in
this case onRelease, the code inside the { } is executed. This
could also be = function():Void
All the parts before the set to symbol or the = sign needs to
be seperated with a period, though NOT between the event listened
for and the set to symbol or = sign.
myMovie_mc.myButton_btn.onRelease = function():Void
Put your code here that you want performed when button is
Released...
The reason my code didn't work was because I did not give an
instance name to the movie clip. You must give instance names to
ANYTHING you call within AS code. Including buttons, MC's, symbols
etc... or else nothing will happen.
Now, if you are having same problem I had, the AS worked on
the same time line level as the button was on but NOT when placed
in parent or main time line, you now know how to fix it.
This works in AS2, Flash8 and Flash9. I don't have AS3 yet
but the code should work in AS3 also.
Hope this helps someone, I searched for this info in the
forums and could NOT find it. I stumbled upon my error after many
hours of trial and error. So next time if I have this problem
again, a forum search will bring this post up in the results. LOL
Thanks.

Nice post. One small addition to this is that you can also
just specify a function name instead of using "=function() {".
For example:
myMovie_mc.myButton_btn.onRelease = myFunction;
function myFunction():Void
Put your code here that you want performed when button is
Released...
This could be used in a couple of ways. First, the way you
mentioned in your post. Second, you can use this method to have the
program simulate a button press (even if the user does not click on
the button). Since the function will execute even if you just call
it like: myFunction();
Just my 2 cents.
Tim

Similar Messages

  • Making a button rollover change a movie clip's frame

    Hi again everyone,
    I knew how to do this in AS2 but now I am having problems
    with making a button on the stage goto a frame in a movie clip on
    the stage.
    I've attached a sample of my code below, hopefully you'll see
    the error and be able to point it out to me?
    I have a movie clip on the stage that has different
    information in different frames. I want to make it so that when
    someone rolls over the button, the movie clip fades in and goes to
    the correct frame to display the information.
    With this setup the way it is below, I keep getting "Warning:
    3590: void used where a Boolean value was expected. The expression
    will be type coerced to Boolean.
    I know where the problem is happening, "function
    XXX(event:MouseEvent):void {navigateToURL(XXXweb)}"
    How can I write this differently and eliminate this problem?
    Thanks,
    Jeremiah

    I'll give that a shot, thanks!
    A follow up question to that one, is there a way to make it
    so that I can have one rolled over function applied to several
    buttons / frames in the movie clip? This movie clip has 50+ frames
    in it and if I could reduce my coding, it would make life a lot
    easier.
    Thanks,
    Jeremiah

  • Button in a nested movie clip-Help!

    Hello!
    I have an issue that I have never been able to solve and need
    to now since I am on a tight deadline.
    I have a movie clip button on my main timeline. The code
    works fine (up, over and out). Inside that movie I have an
    animation where a bubble appears with text, our mission. If I use
    the URL link for text it works fine. The problem is I need, when
    clicked on, a UILoader to load a file. If I put the correct code on
    the main timeline I get an error since that pop-up has not loaded
    yet. If I put the correct code(I used before on main timeline only)
    in the movie where the pop-up is I also get an error which send the
    file into an eternal loop. What am I doing wrong??
    I would greatly appreciate any help with this.
    Thanks.
    Rob

    Hi Ned,
    Thank for the quick response. The button does have an instance name of "myreserve_btn" and it only seats on page layer in frame 3. and I changed publish settings and got this output message:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at SpaLuvicebestmassageoptionintown_fla::MainTimeline/frame3()[SpaLuvicebestmassageoptionint own_fla.MainTimeline::frame3:1]
        at flash.display::Sprite/constructChildren()
        at flash.display::Sprite()
        at flash.display::MovieClip()
        at SpaLuvicebestmassageoptionintown_fla::innnerbody_25()
        at flash.display::Sprite/constructChildren()
        at flash.display::Sprite()
        at flash.display::MovieClip()
        at flash.display::MovieClip/gotoAndStop()
        at SpaLuvicebestmassageoptionintown_fla::MainTimeline/bodymassagebtn_clicked()[SpaLuvicebest massageoptionintown_fla.MainTimeline::frame1:12]
    Is there a way around this?
    thanx in advance

  • Buttons not working in movie clips

    I have multiple movie clips on stage (all in separate layers, of course) as well as buttons on stage to play each movie clip. There are buttons inside each movie clip. The problem is that the buttons inside the top layered movie clip work, but the others in the movie clips below don't.
    This is frustrating!! Can anyone help???

    It shouldn't matter which layer things are on.  If they are separate movielcips, one should not impact another.  What version of actionscript are you using?  Do any of the movieclips have mouse interactive code assigned to them?

  • Button not working in Movie Clip

    I'm building a small 'table builder' app for a client. This
    is my first major project in flash and I've encountered something I
    cannot figure out for the life of me.
    In the .fla below there's a movie clip 'scroller' it has
    buttons in it which load .png's to the main stage. Some of the
    buttons work, some don't.... I can't figure out why. Even when I
    duplicate a button sometimes it doesn't work.??? If I take a button
    that's not working in the movie clip and cut/paste onto the main
    timeline it ALWAYS works. I've been pulling my hair out over this
    for the last two days . I have even started the whole project from
    scratch just to try and find out where I went wrong... but to no
    avail..... Any help would be GREATLY appreciated. I'm stuck on a
    hump and I need some help to get off of it.
    Here's a link to my file. I've stripped away all the styling
    elements so it should be pretty clean cut when you see it. Thanks
    for any help or guidance!
    http://www.buddyscampfire.com/tableBuilder.zip

    A few errors: Scene 1 frame 1 Actions layer. You are
    referring to buttons inside of the scroller, and you don't have
    too. They aren't doing anything. All you need on that frame is:
    function startLoading(whichImage) {
    loadMovie(whichImage, "imageLoader");
    _root.onEnterFrame = function() {
    infoLoaded = imageLoader.getBytesLoaded();
    infoTotal = imageLoader.getBytesTotal();
    percentage = Math.floor(infoLoaded/infoTotal*100);
    infoField.text = percentage+"%";
    if (percentage>=100) {
    delete this.onEnterFrame;
    infoField._visible = false;
    Then on the Scroller you have that function again. Remove it
    from the scroller, as it does nothing there. Inside of the scroller
    all you need is code to attach png files from pressing the buttons.
    Make sure each button has a unique instance name, which isn't the
    case right now. You have like three buttons called imgbtn1. Fix
    that.

  • Animated drop down buttons not working in movie clip

    Hi,
    I am working on this site: (AS2)
    http://www.steamandclean.com/Index_w_1.html
    I have two types of drop down menu. One under Commercial and one under Technical
    The buttons are movie clips. The drop downs are also movie clips that start in frame 2 and are triggered on rollover.
    The child buttons are buttons living on the drop down movie clips. They are set to getURL
    As you see they are not willing to neither link to any url or will they run their move clip animation. One is a button and one is a movie clip.
    The left movie clip has a mask, but it makes no difference if I remove the mask . It also has a emboss filter and no difference is I take that away either.
    All of it is in one flash movie right now, but I will be splitting it up in a master navigation movie and individual swf's soon.
    Right now I have the main movie, then the button MC then the dropdown MC and in the drop down MC I have placed either a animated (button) MC or a button. So it nested in nested in.......
    In both cases I scripting the child buttons like this:
    on (rollOver) {
    gotoAndPlay(2);
    on (rollOut) {
    gotoAndPlay(6);
    on (release) {
    getURL("http://steamandclean.com");
    I have also tried to use
    _parent.getURL and _root.getURL in stead of just get URL, but it does not work.
    The drop down buttons seem to be buried. In the left side the whole drop down panel seems to act like a link?
    What am I doing wrong?
    Can you help?
    ggaarde

    Hi Ned
    Thank you for your reply again.
    I figured it out.
    Your reply prompted me to have my main button on rollover to go to a frame number on the main time line and then move the content of the drop down movie clip to that frame.
    The drop down panel now work and the child buttons animation now work as well. I just had to find a way to make the drop down panel disappear on rollout. Since I could not script the actual drop down panel I created three skinny invisible buttons and placed them on the right, left and button of the drop down panel. I scripted them to go back to frame 1 on both rollover and rollout. Done.
    See the result there:
    http://www.steamandclean.com/Index_w_1.html
    (Left side only)
    Thank you for your help.
    ggaarde

  • Making Button links within a movie clip

    I am attempting to learn more Flash in general and
    actionscript in particular. I have created a flash piece that
    consists of 4 buttons within a movie clip that is being masked by
    another movie clip. One movie is the set of 4 buttons. The other
    movie is a "spotlight" that moves with the cursor. As the spotlight
    shines on each button, the button's text changes color and is "lit
    up".The Over state of each button is set to cause the button to
    change color. When I put a keyframe in the Down state of each
    button in order to add actionscript to create the action that makes
    the button clickable to take the viewer to a web page, it tells me
    that no actions can be given to this Down state. If I try using
    Behaviors to accomplish the same thing, it tells me that Behaviors
    are not supported. If I put actionscript into the actions layer of
    the timeline, it does not do the required action, i.e. clicking on
    the buttons leads nowhere. I have tried moving the actionscript
    before, between, and after the setInterval and setMasker
    actionscript that controls the interaction between the two movie
    clips (which work perfectly). I have tried inserting an actions
    layer into the button movie clip--same result--nothing. I have
    tried putting the actionscript in the second frame of the actions
    layer (both in the main timeline and in the movie clip), all to no
    avail. I did give each button an instance name and used them in the
    actionscript.
    Here is the actionscript I am using for one of the buttons:
    book.onPress = function(){
    book.getURL("http.//www.bainbridge.wednet.edu");
    I do not get an error message with this actionscript. I just
    don't get sent to the web page. I am using Flash 8.
    What else I should be doing? Is this a problem because the
    cursor is already attached to an action? I am sure that this must
    be possible, if only I knew more.
    Thanks for helping.

    do you have the actual mc identified as ( book ) on the root
    as well as the code i posted above? if so, are the code and the mc
    on the same frame? also you should note that the code posted above
    is meant to be placed on your root time line, not directly on the
    mc identified as ( book ). one more thing: you must target your mc
    ( book ) correctly.
    target like this:
    IF YOU ARE ON THE MAIN TIME LINE ( _root ):
    // if ( book ) is setting on the _root already then your
    target path is simply book.onRelease.
    // if ( book ) is setting inside another movieclip on the
    _root, find out what movieclip ( book )
    // resides in. that will now be the first part of your target
    path.
    // next find out if ( book ) resides in yet another
    movieclip. if so, that will be the next part of
    // your target path.
    // continue this until you reach ( book ). the entire path
    you took to reach ( book ) is your
    // target path.
    // you can also click on the target icon in your actionscript
    pane to insert a target path for
    // your movieclip.
    here is an example in which ( book ) resides inside another
    movie clip ( yourMovieClip ) on your _root:
    yourMovieClip.book.onRelease = function () {
    getURL("
    http://www.cnn.com/");

  • Rollover buttons that play a movie clip.

    Hello,
       I am new to Flash and I am trying to accomplish a simulation such as this example, http://www.its-about-time.com/investinesart/coalplantvirtualtour.swf. I have all of my movie clips done, but how do I tell a rollover button to play a specific movie clip? I also want to have all the movie clips to play simultaneously via a rollover button as shown in the example. I've attached a captured image of my timeline, if that helps. I've tried everything so far, but nothing is working! What is the simplest way of doing this?
    I have this inside one of the movie clips (mc_2) in a seperate layer under - (actions)
    RO_btn.onRollover = function(){
    mc_2.play();
    On the main timeline I have an actions layer with this:
    stop();
    Thinking that this may stop all of my movie clips but it doesn't.
    Should I make an actions layer in each movie clip with this syntax huh? stop();?
    I'm frustrated!!
    Thanks, if you can help!
    MG

    Hi,
    I have made something that you are looking for.
    It will be of help to you.
    basically you will have to create a few movie clips namely:
    2 buttons: (name them a_btn, b_btn, c_btn, d_btn, e_btn)
    3 movie clips (I am taking example image1_mc, image2_mc, image3_mc)
    in each of these movieclips.place 2 frames and on second frame put your movieclip(one in one).on both the frames put stop()
    now click on a_btn and write this script
    on (rollOver) {
    _root.image1_mc.gotoAndPlay(2);
    _root.image2_mc.gotoAndPlay(2);
    _root.image3_mc.gotoAndPlay(2);
    on (rollOut) {
        _root.image1_mc.gotoAndPlay(1);
        _root.image2_mc.gotoAndPlay(1);
        _root.image3_mc.gotoAndPlay(1);
    with this all 3 animations will work simultaneously. if you need to run any one of the movieclips at a time the you can address that mc in particular
    .Say if you want only 1 mc to move at a time then put this on  btn 2
    on (rollOver) {
    _root.image1_mc.gotoAndPlay(2);
    on (rollOut) {
        _root.image1_mc.gotoAndPlay(1);
    .Dont forget to give proper instance names to movieclips.(they are in properties panel.)
    Cheers!

  • Accessing a scene from a Movie Clip

    Hi, I'm using Flash CS3 and am writing action script inside
    of one of my movie elements and I want to access an element that's
    on my main scene, "Home". How can I reference my main form that
    hosts the element video form my movie clip?

    if "Home" is on the main timeline you can reference it from
    any timeline using:

  • Buttons actioning in different movie clips?

    So ive set up some buttons into a movie clip, but i want to get them performing actions in a movie clip that is within another clip.
    For example, the code below is what I have attached to one of my buttons. The Movieclip 2photosMC2 is inside a DIFFERENT movie clip to the ones where the buttons are stored. How can I script so that the button actions activate the correct clip?
    on(release){
        photosMC.gotoAndPlay("img 02");
    With the code above, photosMC is the movie clip i want to play and img 02 is within this. The button with this code in is in a different movie clip to the one in which photosMC is held
    Any ideas?
    Many Thanks
    Dave

    If you get away from attaching code to buttons you might find it easier to manage that targeting you will need to do.  If you assign instance names to your buttons and movieclips, then you can have your code in the main timeline and assign the interaction to the objects from there.  As an example, le's say you have a button named "gtn" inside a movieclip named "btnHolder" that sits on the main timeline.  And you want to have that button tell a movieclip named "mc" that sits inside another movieclip named "mcHolder" that is also on the main timeline.  Then in the main timeline you could use...
    btnHolder.btn.onRelease = function(){
         mcHolder.mc.gotoAndPlay("img02");
    To do it the way you want would require using  _root or _parent targets, which is usually better to avoid...
    on(release){
         _root.mcHolder.mc.gotoAndPlay("img 02");
    or maybe...
    on(release){
         _parent.mcHolder.mc.gotoAndPlay("img 02");

  • Flash Buttons and a nested movie clip

    I have made my movie clip and now I want to nest it into a
    button. I am not sure what code I need to use for this and how to
    nest it. I want, when a person rolls over the button for the movie
    clip to run. When they roll off of the button the movie clip stops.
    When they click on the button it takes them to a link. If anyone
    can please help me with this, I would SO greatly apprecaite it.
    Thank You ahead of time.

    Thank You SOOOO Much for replying to this. I can't tell you
    how much I appreciate your help.
    I just assumed that was the only way I could do it, (nest
    it.) So, my MC is called jiggle.
    So everywhere you have the my_mc. Should I replace it with
    jiggle.onRollOver etc....?
    ALso you say to attach the code to the action layer in the
    frame the MC appears, not in the MC itself.
    So, in the timeline that I have my MC , I have an actions
    layer. Do I not want an actions layer there? Should I just save the
    timeline with my MC and then cut and paste it into another timeline
    that has the actions layer?
    I actually have 5 of these MC.that all need to do the same
    thing, they are each for a different button.

  • Button in a content Movie Clip

    Hi,
    I need help on a button going to a frame "reservationpage".  I set a button  on  frame 3 in "treatmentspage" that should call on "reservationpage" in  frame 8.
    I  have been using this code:
    myreserve_btn.addEventListener(MouseEvent.CLICK,  onReservClick);
    function onReservClick(evt:MouseEvent):void {
         gotoAndStop("reservation page");
         myreserve_btn.removeEventListener(MouseEvent.CLICK, onReservClick);
    but keep  getting:
    TypeError:  Error #1009: Cannot access a property or method of a null object  reference.
        at  SpaLuvicebestmassageoptionintown_fla::MainTimeline/frame3()
        at  flash.display::Sprite/constructChildren()
        at  flash.display::Sprite()
        at flash.display::MovieClip()
        at  SpaLuvicebestmassageoptionintown_fla::innnerbody_25()
        at  flash.display::Sprite/constructChildren()
        at  flash.display::Sprite()
        at flash.display::MovieClip()
        at  flash.display::MovieClip/gotoAndStop()
        at  SpaLuvicebestmassageoptionintown_fla::MainTimeline/bodymassagebtn_clicked()
    can I get  help on this please?

    Hi Ned,
    Thank for the quick response. The button does have an instance name of "myreserve_btn" and it only seats on page layer in frame 3. and I changed publish settings and got this output message:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at SpaLuvicebestmassageoptionintown_fla::MainTimeline/frame3()[SpaLuvicebestmassageoptionint own_fla.MainTimeline::frame3:1]
        at flash.display::Sprite/constructChildren()
        at flash.display::Sprite()
        at flash.display::MovieClip()
        at SpaLuvicebestmassageoptionintown_fla::innnerbody_25()
        at flash.display::Sprite/constructChildren()
        at flash.display::Sprite()
        at flash.display::MovieClip()
        at flash.display::MovieClip/gotoAndStop()
        at SpaLuvicebestmassageoptionintown_fla::MainTimeline/bodymassagebtn_clicked()[SpaLuvicebest massageoptionintown_fla.MainTimeline::frame1:12]
    Is there a way around this?
    thanx in advance

  • Target a button inside of a Movie Clip

    I am trying to target a button inside a dynamically loaded
    movieclip, such as the following (but is not working):
    clipAnswerYesNo: Movieclip
    testbutton: embeded button
    Script is on main timeline.
    _root.clipAnswerYesNo.testbutton.onRelease = function() {
    trace(userAnswer);
    D

    ensure both the movieClip and the button have instance names.
    also, maybe change your trace to:
    trace("hit button"+userAnswer);
    it is possible that the trace and therefore the button is
    working, it's just the path to userAnswer is incorrect...

  • How can I call in swf file to movie clip?

    Hi all ...
    This is my first post for advise, although fairly conversant
    with flash and as2.
    I am developing a new full screen background style website
    and have menu buttons contained within a movie clip (nav_c1) ...
    this re-aligns to the top centre of a page when user scales the
    browser window.
    I then have the content area (centre_content) movie clip ...
    this realigns to the centre of the page when a user scales the
    browser window.
    I have scripted the menu buttons to goto a labelled frame in
    the main timeline but I need, when at the labelled frame, to be
    able to call/load in an external swf file to play 'inside' the
    centre_content movie clip?
    for example:
    If I click my news button the flash file moves to the frame
    label news on the main timeline. This then shows a duplicate of the
    moive clip 'centre_content' which is called 'centre_news'. I need
    to be able to call/load an external news.swf, containing all the
    animated news info, to sit and play 'within' the movie clip
    'centre_news' ... so that it is effectively contained 'within' the
    movie clip file but loaded in place from an external swf file.
    Can anyone help please?
    I can post a rough working example online if need be.
    Many thanks
    A puzzled Adrian
    ps: I don't think I am needing to load the swf to a level 1
    area as I have tried this and instead of the swf file being loaded
    and contained within my movie clip file/area it instead seems to
    sit fixed on the main timeline (ie: not contained within the movie
    clip area).

    Thanks Sketchsta for you code. This looks like we're on the
    right lines as I see what the code is trying to do.
    Unfortunately though I can't seem to get this to work?
    I created a new file to get rid of other scripting that was
    going on and have placed a movie clip called centre_content onto
    the main timeline in frame 1 ... then I have applied your script to
    an actions frame above the movie clip also on frame 1. I change the
    path_to_file line with my swf name (callin.swf) which is a 1 frame
    flash file with some text on it ...
    ... but it doesn't bring in the callin.swf file ... it just
    shows the centre_content clip.
    Am i doing anything wrong?
    I also tried putting the script onto the first frame inside
    the centre_content movie clip but this doesn't appear to work
    either.
    Regarding the pre-loader ... can I simply build this into the
    swf file that is being called in to the movie clip?
    Thanks in advance for your support, it is much appreciated.
    Adrian

  • Buttons in a movie clip don't go to frame Labels

    Hello, I have 1 button inbeded in a movie clip named mcintroclp that is on frame 1 of my main timeline, Frame 2 is labeled port_btn on the main timeline. In the timeline of the movie clip mcintroclp I've put the code:
    stop();
    function buttonClick(event:MouseEvent):void
    gotoAndPlay(event.target.name);
    port_btn.addEventListener(MouseEvent.CLICK,buttonClick);
    The problem is that when the port_btn is pressed the playhead starts from the beginning of the main timeline not at frame 2 with the label port_btn. does anyone know what I am doing wrong, Thanks
    SQ

    what timeline contains your code?  (that's the same timeline that contains those two buttons, correct?):
    The timeline that contains the code is the movie clip named mcintroClip I've put the code on an actions layer on the last frame of the MC timeline. Which is the same timeline that contains the two buttons.
    what timeline contains mcintroClip?
    mcintroClip is on the first frame of the main timeline (whaich has a label home but I dont think that matters)
    what timeline contains intro_mc?
    intro_mc is the instance name for the movie clip mcintroClip on the main timeline. I tried to put that in the code because I don't relly know what I'm doing.
    what timeline has labels that match your button names?
    The main timeline contains the labels that match the button names, at this point frame 2 is labels port_btn
    The only othe code I have is stop(); on frame 1 and 2 of the main timeline.
    Thanks much for all your help on this.

Maybe you are looking for

  • Report for analyse the sales realisation for a particular period

    Hi guys, Is there any report for analyse the sales realisation for a particular period. thanks murali

  • ITunes keeps crashing when I try to watch movies

    Since the latest iTunes & Quicktime update, I am unable to watch any of the movies I have downloaded on iTunes. I've completely deleted both iTunes and Quicktime and reinstalled the latest versions of both. When I click to play a video, the movie wil

  • Date Profile Position

    Hi, I have added SRV_CUST_BEG to my date profile for a Service Confirmation, via the Interaction Centre. Problem I have is that the field for SRV_CUST_BEG does not appear. Should it/where? Everything looks fine in customising except for the Screen ar

  • ALV class include?

    I wrote alv program as below. i dont know where to put this below CLASS in dynpro module. either PBO or PAI. when i keep this in ordinary report it works fine. but when i use in dynpro screen its not working. could you pls suggest. CLASS lcl_event_re

  • Custom Event Bubble

    I'm new to flex and how it handles Event Bubbling.  I can make a custom event work with this code: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"                xmlns:s="library://ns.adobe.com/flex/spar