Button, onRollIn, OnRollOut

Hi, i am creating a button in flash for a dreamweaver site,
and i want it animated hence why im using flash. This is what i
have done;
on the stage, i created some text, then converted that to a
movie clip. In the movie clip, i converted that to a button. I went
back into the movie clip and created the motion tweens, 2 simple
movements so the button slides right when rolled over, and slides
back into plce when rolledout. In the movie clip, i have selected
the button and added action script, i cant remember the code
exactley, but it works on another site, but when i test my movie,
you see the tween working, but the button instance does not work.
It plays as if its a sinlge movie clip.
is it something to do with the way i set this up? any
tutorials ??
hope someone can help !!

that's not a code issue.
you can either increase your frame rate to increase the rate which polls your mouse position and/or increase the hit-size of your button.

Similar Messages

  • XML scrolling thumbnail, image loader, & Buttons [halfway works]

    Intro:
    I started a flash-based website a few years ago. Back in 2006 I was able to get a xml scrolling thumbnail, image loader to work without a glitch.
    For numerous reasons I had to put the project on hold until now. [one was that my 30 day trial of flash expired and only recently was I able to purchase the Adobe Web Suite CS4 as well as a new computer which could run the apps.]
    Last Friday saw a bump in the road in the development of my site as two, rather straightforward task, turned into something short of a nightmare as I have been unable to get past these two, seemingly, relatively simple task.
    I have posted in 4 other flash forums the issues, in detail, that I am facing - and have quite a bit of interest/views in the topic as the numbers suggest - yet no response/answer as of yet. [Which confirms other messages I have seen which seem to state that working with buttons has become increasingly difficult with the newer version of flash - something Im a bit surprised with actually from Adobe. - I would have thought there would be a palette where you could set parameters...]
    Screenshot of Site/Timeline:
    Before getting into the two questions I have, I would like to post an image of the site as it looks whenever an swf file is saved out, as well as a piece of the timeline in the back for reference.
    Issue #1
    As of now when the swf file is saved out you get exactly what you see above:
    a: A scrolling thumbnail
    b: ...which loads a large image when clicked on it - PEFECT...
    BUT...
    1a: I need for the buttons to load in this action, not for it to just load on its own.
    [i.e., the silk_paintings gallery is what is open, so I need the "silk_paintings" button to call up this action]
    note: Initially I had attacked this problem by taking out the actions layer you see above and applying it directly to the individual buttons with some crude MouseEvent Listener/Handerls... that did not work - at all.
    Im sure it may be "easier" to make an array out of it, but with my coding level it may be "easier" to apply it to the buttons.
    1b: How I currently see it, I would take the xml-list and duplicate it for the number of galleries I have.
    [I would then re-name the xml-list to reflect the name of the galleries they are to represent, i.e. "silk_paintings"]
    [also, I would have to rename the folders to "thumbnails1,2,3, etc., & "images 1,2,3, etc"
    From there I would duplicate the actions and paste it into the buttons, changing the xml-list name to that of "silk_paintings", etc., as well as write in the MouseEvent listener Handler to make it work. [ah, ha, but what is that magic phrase, I have tried to implement various code from other tutorials, and all in vein.]
    Issue #2
    At this point I would be tickled pink just to get this to basic function to work.
    However, once the buttons are working and calling up the xml, etc., then I need the buttons to stay on the semi-transparent blue color it is whenever in the 'hit' state. [note: NOT pictured above.]
    With the way the buttons are currently set up, and with wanting to use scripting to get them to interact with the thumbnail gallery, it will have to be some miraculous code to tell that button what color to stay as whenever its clicked, and of course it going back to white when another button is clicked.
    Conclusion:
    Since this is an Adobe Forum I would like to make a few additional statements in hopes that the developers, etc. may take heed.
    Adobes products are not cheap, and when I went to purchase the websuite I went in as a designer needing a program as not to need to program.
    I understand the flexibility that coding gives, but something as simple as linking buttons should not be in the realms of rocket science. [yes, for many its not...but my brain just does not operate that route despite all the tutorials thrown at me.]
    Again, it would seem that there would be a button panel where you could drag options like scrolling thumbnail slider, loader, and then parameters would come up. [much like Apples iWeb. - but before the argument of one being pro and the other for non-pros, I see it differently. Software should not be the limiting factor in how flexible you can design, or rather ones lack of programming shouldnt be. With all the talented, and I say this in all humility and honesty, programmers working for Adobe, Im sure something could be programmed like what Im asking for.]
    note: Director is a good example, back in 1997 I knew nothing of multimedia and in one week I had assembled a portfolio, clicking buttons, speech, movies, and all. - and no, I dont have the money to buy more software!
    At this moment I am at the mercy of someone who reads code like its a nighttime tale they are telling their kids, and who can see the exact issue I have and can share the appropriate, correct code. [as I have noticed, it has to be on target - naturally - but this target changes with just a slight change in the design.]
    Thank you,
    peace
    Dalen
    p.s.
    The actionscript: [note: This is only the current working/good code that Im trying to get the buttons to call up.]
    stop();
    fscommand("allowscale", false);//keep SWF display at 100%
    var x:XML = new XML ();//Define XML Object
    x.ignoreWhite = true;
    var fullURL:Array = new Array;//Array of full size image urls
    var thumbURL:Array = new Array;//Array of thumbnail urls
    var thumbX:Number = 25;//Initial offset of _x for first thumbnail
    x.onLoad = function(){ //Function runs after XML is loaded
        var photos:Array = this.firstChild.childNodes;//Defines variable for length of XML file
         for (i=0;i<photos.length;i++) {//For loop to step through all entry lines of XML file
              fullURL.push(photos[i].attributes.urls);//Each loop, adds URL for full sized image to Array fullURL
              thumbURL.push(photos[i].attributes.thumbs);//Each loop, adds URL for thumbnails to Array thumbURL
              trace(i+". Full Image = "+fullURL[i]+"  Thumb Image = "+thumbURL[i]);         
              var t = panel.attachMovie("b","b"+i,i);//Each loop, Define local variable 't' as a new instance of 'b' movie clip, given unique instance name of 'b' plus the index number of the For loop
              t.img.loadMovie(thumbURL[i]);// Each loop, load thumbnail image from XML data into variable movie clip
              t._y = 0;//Set Y coordinate of variable movie clip
              t._x = thumbX;//Set X coordinate of variable movie clip based on variable thumbX
              t.numb = i;//Set sub-variable 'numb' inside variable t to hold index number
              t._alpha = 75;//Set the Alpha value of the variable movie clip to 75% - for onRollOver highlight action
              thumbX += 55;//Increment thumbX value so next thumbnail is placed 125 pixels to the right of the one before
              t.onRollOver = function () {//define onRollOver event of the variable movie clip
                   this._alpha = 100;//Set thumbnail alpha to 100% for highlight
              t.onRollOut = function () {//define onRollOut event of the variable movie clip
                   this._alpha = 75;//Reset thumbnail alpha to 75%
              t.onPress = function () {//define onPress event of the variable movie clip
                   this._rotation += 3;//rotates thumbnail 3 degrees to indicate it's been pressed
                   this._x += 3;//Offset X coordinate by 3 pixels to keep clip centered during rotation
                   this._y -= 3;//Offset Y coordinate by 3 pixels to keep clip centered during rotation
              t.onReleaseOutside = function () {//define onRelease event of the variable movie clip
                   this._rotation -= 3;//rotate thumbnail back 3 degrees
                   this._x -= 3;//Reset X coordinate by 3 pixels to keep clip centered during rotation
                   this._y += 3;//Reset Y coordinate by 3 pixels to keep clip centered during rotation
                   this._alpha = 75;//Reset thumbnail alpha to 75%
              t.onRelease  = function () {//define onRelease function to load full sized image
                   this._rotation -= 3;//rotate thumbnail back 3 degrees
                   this._x -= 3;//Reset X coordinate by 3 pixels to keep clip centered during
                   this._y += 3;//Reset Y coordinate by 3 pixels to keep clip centered during
                   this._alpha = 75;//Reset thumbnail alpha to 75%
                   holder.loadMovie(fullURL[this.numb]);//Load full sized image into holder clip based on sub-variable t.numb, referenced by 'this'
         holder.loadMovie(fullURL[0]);//Initially load first full size image into holder clip
    x.load ("silk_paintings.xml");// path to XML file
    panel.onRollOver = panelOver;
    function panelOver() {
         this.onEnterFrame = scrollPanel;
         delete this.onRollOver;
    var b = stroke.getBounds(_root);
    function scrollPanel() {
         if (_xmouse<b.xMin||_xmouse>b.xMax||_ymouse<b.yMin||_ymouse>b.yMax) {
         this.onRollOver = panelOver;
         delete this.onEnterFrame;
         if (panel._x >= 740) {
         panel._x = 740;
    if(panel._x <= (thumbX-10))  {
              panel._x = (thumbX-10)
         var xdist = _xmouse - 830;
         panel._x += -xdist / 7;
    The xml:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <slideshow>
    <photo thumbs="thumbnails/i_brown_fairy.jpg"  urls="images/brown_fairy.jpg"  />
    <photo thumbs="thumbnails/i_blonde_fairy.jpg"  urls="images/blonde_fairy.jpg"  />
    <photo thumbs="thumbnails/i_flower_fairy.jpg"  urls="images/flower_fairy.jpg"  />
    <photo thumbs="thumbnails/i_red_fairy.jpg"  urls="images/red-fairy.jpg"  />
    </slideshow>
    Attached is a link to the file I made named "index".
    https://rcpt.yousendit.com/706233226/5e7b4fe0973dacf090b5cbae32c47398
    I would have liked to have included the following files but was limited due to "you-send-it" not uploading folders.  Files not included: [but functioning] : xml list - images [folder] - thumbnails [folder]
    Again, Thank you
    Dalen

    The issues with the buttons calling up the scrolling thumbnail panel have been resolved, as well as keeping the buttons in their hit state once clicked, thanks to Rob.
    Those that have been following this thread, or stumble upon it in their searches later, may appreciate to see the final solution to this particular issue.
    [Hopefully I will be able to update this thread with a url in the future to show the site in operation, which may help somebody with their project in the future if its set up similarly.]
    Alas, it would be nice if future versions of flash had a more direct, flexible, user friendly method for creating navigation.
    [We may see development beyond the flash ads which everyone seems to loathe... and more creativity with flash in terms of games, web interactivity, &  animation.
    Below are 2 sets of code:
    a] the first is located within the first frame of the first button, and has some extra variables in it that the additional buttons call upon...
    b] the second is the code applied to every other button.
    stop();
    fscommand("allowscale", false);//keep SWF display at 100%
    var x:XML = new XML();//Define XML Object
    x.ignoreWhite = true;
    var fullURL:Array = new Array();//Array of full size image urls
    var thumbURL:Array = new Array();//Array of thumbnail urls
    //  .......  CHANGE
    var thumbX:Number;// = 25;//Initial offset of _x for first thumbnail
    // make an array of all of the instance names of each button object...
    // only do this once
    var buttonsList:Array = new Array(shadesOfGrey, silkPaintings);
    shadesOfGrey.isLatched = false;
    // the rollover function... repeat for each button
    shadesOfGrey.onRollOver = shadesOfGrey.onDragOver=function ():Void {
         if (!this.isLatched) {
              this.gotoAndStop(2);
    // the rolloff function... repeat for each button
    shadesOfGrey.onRollOut = shadesOfGrey.onDragOut=shadesOfGrey.onReleaseOutside=function ():Void {
         if (!this.isLatched) {
              this.gotoAndStop(1);
    // the mouse press function... repeat for each button
    shadesOfGrey.onPress = function():Void  {
         resetAllButtons();
         this.isLatched = true;
         this.gotoAndStop(3);
    shadesOfGrey.onRelease = function():Void  {
         x.load("shadesOfGrey.xml");// path to XML file
         thumbX = 25;
    function resetAllButtons():Void {
         for (b in buttonsList) {
              buttonsList[b].isLatched = false;
              buttonsList[b].gotoAndStop(1);
    x.onLoad = function() {//Function runs after XML is loaded
         //  resets the position of the panel on each new load
         panel._x = 740;
         //  .......  CHANGE  removes the existing movieclips from the panel before any new load...
         for (c in panel) {
              if (typeof (panel[c]) == "movieclip") {
                   removeMovieClip(panel[c]);
         var photos:Array = this.firstChild.childNodes;//Defines variable for length of XML file
         for (i=0; i<photos.length; i++) {//For loop to step through all entry lines of XML file
              fullURL.push(photos[i].attributes.urls);//Each loop, adds URL for full sized image to Array fullURL
              thumbURL.push(photos[i].attributes.thumbs);//Each loop, adds URL for thumbnails to Array thumbURL
              //trace(i+". Full Image = "+fullURL[i]+"  Thumb Image = "+thumbURL[i]);
              var t = panel.attachMovie("b", "b"+i, i);//Each loop, Define local variable 't' as a new instance of 'b' movie clip, given unique instance name of 'b' plus the index number of the For loop
              t.img.loadMovie(thumbURL[i]);// Each loop, load thumbnail image from XML data into variable movie clip
              t._y = 0;//Set Y coordinate of variable movie clip
              t._x = thumbX;//Set X coordinate of variable movie clip based on variable thumbX
              t.numb = i;//Set sub-variable 'numb' inside variable t to hold index number
              t._alpha = 75;//Set the Alpha value of the variable movie clip to 75% - for onRollOver highlight action
              thumbX += 55;//Increment thumbX value so next thumbnail is placed 125 pixels to the right of the one before
              t.onRollOver = function() {//define onRollOver event of the variable movie clip
                   this._alpha = 100;//Set thumbnail alpha to 100% for highlight
              t.onRollOut = function() {//define onRollOut event of the variable movie clip
                   this._alpha = 75;//Reset thumbnail alpha to 75%
              t.onPress = function() {//define onPress event of the variable movie clip
                   this._rotation += 3;//rotates thumbnail 3 degrees to indicate it's been pressed
                   this._x += 3;//Offset X coordinate by 3 pixels to keep clip centered during rotation
                   this._y -= 3;//Offset Y coordinate by 3 pixels to keep clip centered during rotation
              t.onReleaseOutside = function() {//define onRelease event of the variable movie clip
                   this._rotation -= 3;//rotate thumbnail back 3 degrees
                   this._x -= 3;//Reset X coordinate by 3 pixels to keep clip centered during rotation
                   this._y += 3;//Reset Y coordinate by 3 pixels to keep clip centered during rotation
                   this._alpha = 75;//Reset thumbnail alpha to 75%
              t.onRelease = function() {//define onRelease function to load full sized image
                   this._rotation -= 3;//rotate thumbnail back 3 degrees
                   this._x -= 3;//Reset X coordinate by 3 pixels to keep clip centered during
                   this._y += 3;//Reset Y coordinate by 3 pixels to keep clip centered during
                   this._alpha = 75;//Reset thumbnail alpha to 75%
                   holder.loadMovie(fullURL[this.numb]);//Load full sized image into holder clip based on sub-variable t.numb, referenced by 'this'
         holder.loadMovie(fullURL[0]);//Initially load first full size image into holder clip
    // this one function scrolls the panel for all of the buttons, it gets the
    // size of the panel when the images are loaded by any given button...
    stroke.onEnterFrame = function() {
         if (this.hitTest(_xmouse, _ymouse, false)) {
              if (panel._x>=740) {
                   panel._x = 740;
              if (panel._x<=740-panel._width+mask._width) {
                   panel._x = 740-panel._width+mask._width;
              if ((panel._x<=740) && (panel._x>=740-panel._width+mask._width)) {
                   var xdist = _xmouse-830;
                   panel._x += -xdist/7;
    Of note is the change to how the movie clips are measured... this change in and of itself has really helped to make the thumbnail panels operation more efficient.
    Below is the script for each additional button: [Having issues with the forums not letting me post additional code, so I will put the remaining code in a reply below.]
    cont.

  • Tabbed content

    I found a tabbed content folder on the web (.fla and .swf
    files), I really love to use it on my website.
    But when I click on the tabs, it does not take me to a web
    page.
    what would I insert in the code to enable this feature ? (I
    attached the code using "Attach Code" )
    Please help !
    Amanda Nguyen
    Attach Code
    Stage.showMenu = false;
    stop();
    button1.button_text = "HOME";
    button2.button_text = "PRODUCTS";
    button3.button_text = "SERVICES";
    button4.button_text = "CONTACT";
    // do a loop over the buttons and set the
    rollover/rollout/click effects
    for (i=1; i<=4; i++) {
    this["button"+i].button_number = i;
    this["button"+i].onRollOver =
    this["button"+i].onDragOver=function () {
    if (active_button != this.button_number) {
    this.gotoAndStop(2);
    this.my_text_field.textColor = "0x000000";
    this["button"+i].onRollOut =
    this["button"+i].onDragOut=function () {
    if (active_button != this.button_number) {
    this.gotoAndStop(1);
    this.my_text_field.textColor = "0xCCCCCC";
    this["button"+i].onPress = function() {
    activate_button(this.button_number);
    function activate_button(the_button_number) {
    // go to another page in main file
    gotoAndStop(the_button_number);
    // reset all buttons to default state
    for (i=1; i<=4; i++) {
    this["button"+i].gotoAndStop(1);
    this["button"+i].my_text_field.textColor = "0xCCCCCC";
    // set the given (clicked) button to "active" state
    this["button"+the_button_number].gotoAndStop(3);
    this["button"+the_button_number].my_text_field.textColor =
    "0x000000";
    active_button = the_button_number;
    // activate button/page 1 by default
    activate_button(1);

    Yes Don Maes, Do you have some good ideas ?
    Amanda Nguyen

  • Creating onrollover / onrollout button that plays its full ONanimation when touched

    Hey all,
    On most of my option MC's I have something like:
    this.onRollOver = function(){
    this.gotoAndPlay("onanim")
    this.onRollOut = function(){
    this.gotoAndPlay("offanim")
    Obviousy if you quickly roll on and then off the MC the
    animation is staggergy and not a fluid animation.
    I would like to set it so that everytime you touch/roll on
    the option MC it will always play its full on animation right, then
    it will go to the off animation.
    I believe you can incorporate onenterframe object to achive
    this. Could someone please show me a good solution.
    Any help would be great.

    the best solution is to stop the rollover animation as soon
    as the button is rolled out and start the rollout behavior (from
    the correct place on your timeline) as soon as the rollout is
    triggered.
    depending on your rollover and rollout animations that may
    require a little math or more commonly when the rollout animation
    is just the rollover animation playing in reverse would involve
    playing the rollover behavior backwords.
    it's this latter situation that is commonly used to trigger
    an onEnterFrame handler that calls a prevFrame() method and
    terminates when frame 1 is reached.

  • Hi, i am a bit of a newbie at AS & need some help applying it to a movie clip button

    I have created a movie clip button but am stuck with the actionscript. I have created the rollover and rollout for this movie clip button but i want it to do 2 things after this i want it to go and stop on the first frame of a movieclip which has my content on it called portfoliogallery_mc (which is also the same instance name for it) when you then click the button i want it to go and play frame 11 of that movie clip portfolio gallery_mc.
    Here is my current actionscript i HAVE Flash 8 on my comp that i am currently using.
    Please note my actions are on a layer called actions and not on the movieclip button itself.
    nxtimagetwo_mc (is the movie clip button/instance of mc)
    THE CODE I HAVE USED
    this.nxtimagetwo_mc.onRollOver = function() {
    nxtimagetwo_mc.gotoAndPlay("_over");
    this.nxtimagetwo_mc.onRollOut = function() {
    nxtimagetwo_mc.gotoAndPlay("_out");
    portfoliogallery_mc.gotoAndStop(1);
    portfoliogallery_mc.gotoAndPlay(11);
    currently it is playing to frame 11 not stopping at frame 1 and stops on frame 20 where i have a stop action. I also have a stop action on frame 1 of that movie clip.
    What I want it to do is first stop at frame 1 of that movie clip and when the button is clicked again to go and play frame 11 of that same movie clip.
    Basically what i want the mc button to do is 2 things automatically stop the mc for the first content and when button is clicked let the content fad out and play to where the next stop action is set to in the Movie Clip.
    Nothing to with the above www.rsquareme.co.uk is my current portfolio website if you would like to check it out it is not fully complete yet.

    it doens't make sense to execute:
    portfoliogallery_mc.gotoAndStop(1);
    portfoliogallery_mc.gotoAndPlay(11);
    only the 2nd line of code will be effected.
    i know you want to control 2 movieclips.  what are the instance names of the two movieclips and what do you want to occur in each of those movieclips.
    or, do you want to control 1 movieclip and have it play a certain sequence of frames followed by another sequence of frames?

  • How To Make Text Disappear When Mouse is On a Button?

    Hello,  I'm completely new to Flash and well I need some help. I created a page that has static text in the center.
    The page has buttons on side and when I rollover a button text appears, but the problem is that when I rollover a button, the static text in the center is there and I want to hide it as I can't read anything because the texts are overlapped.
    How do I make the text in the center disappear/hide when I rollover a button and how do I make it reappear when the the mouse is off the button?
    I hope what I am explaining makes sense.

    You can assign onRollOver and onRollOut code to the buttons to make the text dispappear, but you'll need to make the text a movieclip with an instance name that you can use to target it to turn it invisible.  In the simple example below, the button has an instance name of "btn" and the text movieclip has an instance name of "text_mc"
    btn.onRollOver = function(){
          text_mc._visible = false;
    btn.onRollOut = function(){
          text_mc._visible = true;

  • OnRollOver = onRollOut equivalent

    I'm looking to condense some code on a photo gallery I'm
    working on where I disable the next or previous buttons if there
    isn't a next or previous image to present. I wanted to break away
    from the standard multiple line approach...
    nextBTN_mc.onRollOver = function() {
    this.gotoAndStop(1);
    nextBTN_mc.onRollOut = function() {
    this.gotoAndStop(1);
    nextBTN_mc.onRelease = function() {
    this.gotoAndStop(1);
    or
    nextBTN_mc.onRollOver = function() {
    this.gotoAndStop(1);
    nextBTN_mc.onRollOut = nextBTN_mc.onRollOver;
    nextBTN_mc.onRelease = nextBTN_mc.onRollOver;
    Once upon a time (and I'm not sure where), I saw someone post
    a one line solution to this. Something like (but not):
    nextBTN_mc.onRollOver([{'onRollOut', 'onRelease'}]) =
    function() {
    this.gotoAndStop(1);
    The syntax on the above is of course wrong but the solution I
    saw once was similar to this. The "([{'onRollOut', 'onRelease'}])"
    (or similar) may have been after the function parameters and there
    is probably an operator that I'm forgetting/missing. I've played
    around with it and searched the net but can't seem to get it to
    work or find it.
    Anyways, if anyone out there knows the solution, I'd really
    appreciate a response. It was a very clever, clean and condensed
    solution and I'd love to find it again.
    Take care,
    sej

    sej,
    > Hey blemmo,
    >
    > Thanks for the response. That's pretty cool solution.
    > I never thought of that one.
    blemmo's reply is a good one, and I often use that approach
    when dealing
    with two or three assignments at a time. When it gets up to
    five or more --
    purely arbitrary numbers -- I also like to use a for() loop
    and the array
    access operator.
    http://www.quip.net/blog/2006/flash/actionscript-20/reference-objects-dynamically
    var buttons:Array = new Array("btnA", "btnB", "btnC");
    for (var n:Number = 0; n < buttons.length; n++) {
    this[buttons[n]].onRelease = function() {
    // instructions here
    David Stiller
    Adobe Community Expert
    Dev blog,
    http://www.quip.net/blog/
    "Luck is the residue of good design."

  • Button within a movie clip not working

    Hiya,
    I have a movie clip within my swf website that is basically
    an icon that you roll over to produce the menu. The movie clip has
    coding inside it to produce the rollover effect. This is as
    follows:
    stop();
    this.onEnterFrame = function(){
    if(rewind == true){
    prevFrame();
    this.onRollOver = function(){
    rewind = false;
    play();
    this.onRollOut = function(){
    rewind = true;
    Whilst this coding works fine for this movie clip, for some
    reason the buttons within the movie clip that appear as you
    rollover them will not work when pressed. I am trying to get them
    to navigate the main timeline, i.e. coding as follows:
    on (release) {
    _parent.gotoAndPlay("home")
    _parent should be correct, I've tried it without and with
    _parent._parent however still it has no effect. From what I can see
    everything should be working fine.
    Is there some reason why buttons will not work within this
    sort of roll over effect movie clip?
    Thanks for your help.

    you can't assign mouse handlers to a parent movieclip and
    expect a child movieclip to respond to mouse events: the parent
    will intercept those events.
    to remedy, either assign all your mouse handlers on the child
    generation movieclips or use a hitTest() for one of the
    generations.

  • Button w/in movie clip not working

    I know this question has been raised before and it usually
    just boils down to using the frame #'s and labels. But, even with
    that it is not working.
    I have a map of the US and when each state is rolled over I
    would like a menu to appear - this menu is a list with several
    options and all of the options are buttons. I have it set up so
    that each state is its own MovieClip and each has an invisible
    button over it for the hit area and the menu to appear. (i didn't
    want it to be simply when it rolls over the state movie clip
    because the hit would be square, covering other states and causing
    a mess of pop up menus)
    Anyway, the menu pops up fine, but the buttons within do not
    work. Any ideas of what I'm doing wrong? Thanks Much!!!!
    wi_mc.stop(); // wi_mc is the state movie clip
    wi_btn.onRollOver = function(){ //wi_btn is the invisible
    button
    wi_mc.gotoAndStop(15); //frame 15 is where my menu resides
    wi_btn.useHandCursor = false;
    wi_mc.onRollOut = function(){
    wi_mc.gotoAndStop(1);

    Alright, I've made adjustments to how I've got it all set up.
    I've made the menu it's own swf file, (seeing as how I'm going to
    have 48 of them in total I figured it was less messy to have each
    as their own file). Anyways... here's the current problem and I'm
    hoping someone has a good explaination for why this would be
    happening...
    on my main file I have 2 invisible buttons - 1 is calling the
    movie to load when rolled over and the other is calling the movie
    to unload when a roll-out occurs. RollOver works great - fully
    functional menu shows up. Roll out, however, is having some issues.
    The invisible button is in the same location of the menu, same size
    etc. so that when the user rolls away from this the menu should
    "unload".
    For some reason it's acting as if the hit area for the roll
    out is off. I did a trace to find out where it's saying the rollout
    areas are and the first is actually when I roll onto it, then only
    again when i roll out from the left side of the graphic. I've tried
    deleting the button and creating a new one but the same thing is
    happening.
    Any ideas for a very confused person trying to complete this
    simple task of unloading a swf via rollout? MUCH appreciated!!!!
    this.createEmptyMovieClip("ExternalSWFHolder",
    this.getNextHighestDepth());
    var SWFLoader:MovieClipLoader = new MovieClipLoader();
    wi_btn.onRollOver = function(){
    SWFLoader.loadClip("wi_menu.swf", ExternalSWFHolder);
    wi_rollout.onRollOut = function (){
    SWFLoader.unloadClip(ExternalSWFHolder);

  • Fustrating problem with self-made 5-state button

    Hey guys, just wondering if you could help me, i don't have
    much knowledge with actionscript and i created my own 5 state
    button using a movie clip and a little bit of actionscript by
    following a tutorial online. (
    http://www.sanctifiedstudios.com/advanced-five-state-buttons/)
    Basically, when rolled over, the button slides out, and when
    rolled off, the button slides back in. The problem is, while the
    button is rolling back in, if you flick your mouse onto the button
    again quickly, instead of restarting the roll-out animation, the
    button just flickers quickly between the in position and the out
    position.
    You can see it for yourself here: www.everlightmusic.com <
    hover your mouse over the buttons on the right, move your mouse
    off, and then while its rolling back in, quickly move your mouse
    back onto it.
    The actionscript for the buttons is this:
    quote:
    this.onRollOver = function(){
    this.gotoAndPlay(20);
    this.onRollOut = function(){
    this.gotoAndPlay(30);
    this.onPress = function(){
    this.gotoAndStop(29);
    this.onRelease = function(){
    this.gotoAndStop(29);
    this.onReleaseOutside = function(){
    this.gotoAndPlay(40);
    this.onRelease = function(){
    _parent.gotoAndPlay(31)
    And here is a screenshot of the movie clip timeline:
    Click
    Any help with this would be greatly appreciated :)

    yeah this is typical when using a timeline based button
    action. two things you could do:
    1) control the state change by using a variable to indicate
    when the motion is complete (or not) like 'isOpen' - you'd need to
    do this for each button in combination with a condition in the
    handler that 'reads' the var and determines the course of action -
    of course the next problem is that if you 'rollout' while the
    motion is happening and the handler fires previous to the setting
    of the var to it's 'new' state it won't close because the condition
    would only be fired once - the only way around that would be to
    include a loop that runs until the condition is satisfied.
    2) much better than the above method (which would get messy
    fast) is to simply use the 'tween' class to create you motions, you
    can then 'open' or 'close' from what ever the current position of
    the clip is at the moment the handler is fired. you've got your
    code on the timeline of the 'button' MC (good job) so you could
    change it to something like this:

  • Q: Another jsp drop-down menu problem+propeblem with savng button

    Well i have many problems:
    Starters i use eclipse with tomcat and postgres. I have to create a jsp page that shows some data directly from database.
    This is what i have so far:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ page import="property.core.Property"  %>
    <jsp:useBean id="PropertyDAO" scope="page" class="property.dao.PropertyDAO" />
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Vaata Vara</title>
    </head>
    <body>
    <script>
    function salvesta(){
    document.forms[0].mida_teha.value='salvestada' ; //salvesta=save and mida_teha=action
    document.forms[0].submit();
    </script>
    <input type='hidden' name='mida_teha' value='<%=request.getParameter("mida_teha") %>'>
    <form action='pg?mode=vaata_vara' method=POST>
    <input type='hidden' name='property' value='<%=request.getParameter("property") %>'>
    Valitud vara: <br>
    <% if((request.getParameter("property"))!=null){
    int property = Integer.valueOf(request.getParameter("property")).intValue();//
    String property_type="";
    String property_name ="";
    String property_created = "" ;
    String property_created_by ="" ;
    String property_updated = "" ;
    String property_updated_by ="" ;
    property.core.Property my_property ;
    if (request.getParameter("mida_teha") != null){
         my_property = PropertyDAO.GetProperty_fromDB(property);
         my_property.setProperty_name(request.getParameter("property_name"));
         my_property.setProperty_updated(request.getParameter("property_updated"));
         //my_property.getProperty_updated_by(request.getParameter("property_updated_by"));
         PropertyDAO.UpdateProperty_to_DB(my_property);
    out.println("<table border=1 cellpadding=0 cellspacing=0><tr><td><table"+
              "width=100% border=1 cellpadding=2 cellspacing=1>");
    if ((my_property = PropertyDAO.GetProperty_fromDB(property)) != null){
         property= my_property.getProperty() ;
        property_type = my_property.getProperty_type() ;
            property_name = my_property.getProperty_name() ;
        property_created = my_property.getProperty_created() ;
        property_created_by= my_property.getProperty_created_by() ;
        property_updated = my_property.getProperty_updated() ;
        property_updated_by= my_property.getProperty_updated_by() ;
         out.println("<TR BGCOLOR='#ffffff'><TD BGCOLOR='#cccccc' nowrap>ID</td><td> " + property + " </TD></tr>");
         out.println("<TR BGCOLOR='#ffffff'><TD BGCOLOR='#cccccc' nowrap>Tyyp</td><td> <SELECT ><OPTION value="+my_property.getProperty_name()+" 'name='property_type'>"+property_type+"</OPTION></SELECT> </TD></tr>");
         out.println("<TR BGCOLOR='#ffffff'><TD BGCOLOR='#cccccc' nowrap>Nimetus</td><td> <b><font color='#0000ff'><input type='text' value='"+ property_name + "' name='name'></font></b></TD></tr>");
         out.println("<TR BGCOLOR='#ffffff'><TD BGCOLOR='#cccccc' nowrap>Loodud</td><td> "+ property_created + " </TD></tr>");
         out.println("<TR BGCOLOR='#ffffff'><TD BGCOLOR='#cccccc' nowrap>Looja</td><td> " + property_created_by + " </TD></tr>");     
         out.println("<TR BGCOLOR='#ffffff'><TD BGCOLOR='#cccccc' nowrap>Uuendatud</td><td> <b><font color='#0000ff'><input type='text' value='"+ property_updated + "' name='updated'></font></b></TD></tr>");
         out.println("<TR BGCOLOR='#ffffff'><TD BGCOLOR='#cccccc' nowrap>Uuendaja</td><td> " + property_updated_by + " </TD></tr>");     
    out.println("</table></td></tr></table>");
    %>
    <input type="button" value="muuda vara" onClick="muuda_vara()">
    <input type="button" value="salvesta" onClick="salvesta()">
    </form>
    </body>
    </html>The problem is that i have no clue(allthough i have chekced the forums for help and experimented and i still could not make it work) how to make a dropdown menu for out.println("<TR BGCOLOR='#ffffff'><TD BGCOLOR='#cccccc' nowrap>Tyyp</td><td> <SELECT ><OPTION value="+my_property.getProperty_name()+" 'name='property_type'>"+property_type+"</OPTION></SELECT> </TD></tr>"); this. I have tryed http://forum.java.sun.com/thread.jspa?forumID=45&threadID=5241837 this page and that messes my "" up. If anyone can give me any tips how to integrate that code what is posted in the link to mine please let me know.
    Second problem is that when i push the save button, then i get a runtime error and a joyce to i want to debug or not. And as well in the example which i got from the teacher works just fine.
         //my_property.getProperty_updated_by(request.getParameter("property_updated_by")); this without the // get the not aplicable error as well(that in my other class file which is linked to this jsp the parameter is not aplicable). i managed to make in other jsp problem identical problem go away by adding a declaration of string and adding that string into the getParameter and this case everything should be okei, but it is not :(
    Anyway property.jsp uses property.java to get the getParameter and setParameter, PropertyDAO is the database stuff (connecting to database, getting data from the database).
    To be on the safe side i will add my propertyDAO.java
    package property.dao;
    import java.sql.* ;
    import property.core.Property ;
    import property.log.MyLogger ;
    import java.util.*;
    public class PropertyDAO {
        private int propertycount ;
        ResultSet VaraHulk ;
        String sql ;
        String url = "jdbc:postgresql://localhost/database";
        String usr = "";
        String pwd = "";
        Connection db ;     
        Statement  st ;
        Property [] VaraMassiiv  ;
        Property Current_Property ;
      public PropertyDAO(){
           try{
                   ResourceBundle bundle = ResourceBundle.getBundle("DBConnection");
                    this.url = bundle.getString("URL");
                    this.usr = bundle.getString("usr");
                    this.pwd = bundle.getString("pwd");
                    Class.forName(bundle.getString("Driver"));
           }catch(Exception ex){
                MyLogger MyLogger = new MyLogger();
               MyLogger.Log("dao.propertyDAO():",ex.getMessage());
           public Property [] getProperty_fromDB(){
                try{
                     this.db = DriverManager.getConnection(this.url, this.usr, this.pwd);
                     this.st = this.db.createStatement();
                    sql = "select count(*) as varade_arv from property" ;
                    VaraHulk = this.st.executeQuery(sql);
                    while(VaraHulk.next()){
                         this.propertycount = VaraHulk.getInt("varade_arv");
                    sql = "select property, property_type.name AS property_type, property.name AS property_name, " +
                              "property.created AS property_created, employee.first_name "+
                  "AS property_created_by, property.updated AS property_updated,employee.first_name AS property_updated_by" +
                  " from property, property_type, employee where property_type."+
                  "property_type=property.property_type and property.created_by=employee.employee ORDER by property" ;
                    VaraHulk = this.st.executeQuery(sql);
                    VaraMassiiv = new Property[this.propertycount];
                    int cnt = 0;
                    while(VaraHulk.next()){
                         Current_Property = new Property();   
                         Current_Property.setProperty(VaraHulk.getInt("property"));
                         Current_Property.setProperty_type(VaraHulk.getString("property_type"));
                      Current_Property.setProperty_name(VaraHulk.getString("property_name"));
                      System.out.println("getProperty_name:" + Current_Property.getProperty_name() );
                      Current_Property.setProperty_created(VaraHulk.getString("property_created"));
                      System.out.println("getProperty_created:" + Current_Property.getProperty_created() );
                      Current_Property.setProperty_created_by(VaraHulk.getString("property_created_by"));
                      System.out.println("getProperty_created_by:" + Current_Property.getProperty_created_by() );
                      Current_Property.setProperty_updated(VaraHulk.getString("property_updated"));
                      System.out.println("getProperty_updated:" + Current_Property.getProperty_updated() );
                      Current_Property.setProperty_updated_by(VaraHulk.getString("property_updated_by"));
                      System.out.println("getProperty_updated_by:" + Current_Property.getProperty_updated_by() );
                      VaraMassiiv[cnt] = Current_Property ;
                      cnt =  cnt + 1;
                       this.db.close();
                }catch(Exception ex){
                     MyLogger MyLogger = new MyLogger();
                    MyLogger.Log("property.getProperty_fromDB():",ex.getMessage());
                return VaraMassiiv;
           public Property GetProperty_fromDB(int property){
                try{
                     this.db = DriverManager.getConnection(this.url, this.usr, this.pwd);
                    this.propertycount = 0;
                    this.st = this.db.createStatement();
                    sql = "select property, property_type.name AS property_type, property.name AS property_name, property.created AS property_created, employee.first_name "+
                  "AS property_created_by,property.updated AS property_updated, employee.first_name AS property_updated_by" +
                  " from property, property_type, employee where property_type."+
                  "property_type=property.property_type and property.created_by=employee.employee and property.property =" + Integer.toString(property) ;
                    VaraHulk = this.st.executeQuery(sql);
                    while(VaraHulk.next()){
                         Current_Property = new Property();
                      Current_Property.setProperty(VaraHulk.getInt("property"));
                      Current_Property.setProperty_type(VaraHulk.getString("property_type"));
                      Current_Property.setProperty_name(VaraHulk.getString("property_name"));
                      System.out.println("getProperty_name:" + Current_Property.getProperty_name() );
                      Current_Property.setProperty_created(VaraHulk.getString("property_created"));
                      System.out.println("getProperty_created:" + Current_Property.getProperty_created() );
                      Current_Property.setProperty_created_by(VaraHulk.getString("property_created_by"));
                      System.out.println("getProperty_created_by:" + Current_Property.getProperty_created_by() );
                      Current_Property.setProperty_updated(VaraHulk.getString("property_updated"));
                      System.out.println("getProperty_updated:" + Current_Property.getProperty_updated() );
                      Current_Property.setProperty_updated_by(VaraHulk.getString("property_updated_by"));
                      System.out.println("getProperty_updated_by:" + Current_Property.getProperty_updated_by() );
                      this.propertycount =   this.propertycount + 1;
                    this.db.close();
                } catch(Exception ex){
                     MyLogger MyLogger = new MyLogger();
                    MyLogger.Log("PropertyDAO.GetProperty_fromDB():",ex.getMessage());
                return Current_Property ;
          public void UpdateProperty_to_DB (Property updated_property){
                try{
                     this.db = DriverManager.getConnection(this.url, this.usr, this.pwd);
                     this.st = this.db.createStatement();
                     int stmtInt = this.st.executeUpdate("update property set property_type='" + updated_property.getProperty_type() +
                               "',name=" +  updated_property.getProperty_name() + ",created=" + updated_property.getProperty_created() +
                               ",'created_by='" + updated_property.getProperty_created_by() +  ",updated="+updated_property.getProperty_updated()+
                               ",updated_by="+updated_property.getProperty_updated_by()+
                               "' where property=" + Integer.toString(updated_property.getProperty() ));
                     this.db.close(); 
                }catch(Exception ex){
                        MyLogger MyLogger = new MyLogger();
                        MyLogger.Log("PropertyDAO.UpdateProperty_to_DB():",ex.getMessage());
           public void finalize(){
                 try{
                   System.out.println("finalize");
                  }catch(Exception ex){ 
                    MyLogger MyLogger = new MyLogger();
                    MyLogger.Log("PropertyDAO.finalize():",ex.getMessage());
    }Property.java
    package property.core;
    import property.log.MyLogger ;
    public class Property {
        //private int propertycount ;
        private int property ;
        //private int current_property ;
        private String property_type ;
        private String property_name ;
        private String property_created ;
        private String property_created_by;
        private String property_updated_by;
        private String property_updated;
        public Property(){
             try{
             }catch(Exception ex){
                   MyLogger MyLogger = new MyLogger();
                   MyLogger.Log("core.Property():",ex.getMessage());
        public void setProperty (int property){
             this.property = property;
        public void setProperty_type (String property_type){
             this.property_type = property_type;
        public void setProperty_name (String property_name){
             this.property_name = property_name;
        public void setProperty_created ( String property_created){
             this.property_created = property_created;
        public void setProperty_created_by (String property_created_by){
             this.property_created_by = property_created_by;
        public void setProperty_updated ( String property_updated){
             this.property_updated = property_updated;
        public void setProperty_updated_by (String property_updated_by){
             this.property_updated_by = property_updated_by;
        public int getProperty () {
             return this.property ;
        public String getProperty_type () {
             return this.property_type ;
        public String getProperty_name () {
             return this.property_name ;
        public String getProperty_created () {
             return this.property_created;
        public String getProperty_created_by () {
             return this.property_created_by;
        public String getProperty_updated () {
             return this.property_updated;
        public String getProperty_updated_by () {
             return this.property_updated_by;
        public void finalize(){
             try{
                  System.out.println("finalize");
             }catch (Exception ex){
                   MyLogger MyLogger = new MyLogger();
                   MyLogger.Log("core.Property():",ex.getMessage());
    }(well it took me 3 days to get the code to work that much as it does anyways)
    hope someone here can help
    Edited by: kohuke on May 30, 2008 11:27 AM
    Added few codes that is connected with the current jsp page

    are you sure your stop() are in the right place??
    eg.. on the last frame of the onRollOver animation??
    also... why have you got on(releaseOutside); ???
    onRollOut will suffice.

  • Making the "Hover" instance of a button stay after moving cursor

    Hello,
    Here is what I am working on. http://www.2realonline.net/floorplan.html Seeing it will explain a lot more than this explanation will.
    I am creating an interactive map. It has little bullets that, when you hover over them, display a short description of the room and a link to another page. What I am trying to do is make it so that the user can hover off of the bullet, and onto the link to the seperate page, without the link and description disappearing because of leaving the bullet's "hit" area.
    Do I have to define another hit area for the description and link somehow?
    Thanks. Any and all help is appreciated.

    Thanks for your help. I appreciate it. I have run into a problem though.
    As you said, I have created a movie clip with two frames, the first containin just the button image, and the 2nd containing the button image and the story part. (the 2nd frame contains the mc of the short hover animation
    I have placed your code into the actions (with a slight modification, because an error message was coming up):
    onClipEvent (load) {
    mc.onRollOver = function(){
    mc.gotoAndStop(2); // the button image and the story part
    mc.onRollOut = function(){
    mc.gotoAndStop(1); // just the button image
    The only difference is "onClipEvent (load) {"
    The end result is, and this is the problem — it appears to be playing as a regular movie clip. Without me rolling my mouse over it, it plays the two frames rapidly, and looped. Here it is: http://www.2realonline.net/try.html
    Why is this happening? Thanks again.

  • Movie Clips/buttons  HELP!!

    I have 4 movie clips on a stage that are supposed to act as
    buttons(About, Resume, Work, Contact) When I roll over one movie I
    want the movie to play and stay on the screen. When the user goes
    to the next button and clicks and releases I want the previous
    movie clip that was on stage to disappear. I have tried with
    success with this code on the main stage but it only works for
    rollovers. I want releases. Here is the code.....
    b1. onRollOver = over;
    b1. onRollOut = out;
    b2. onRollOver = over;
    b2. onRollOut = out;
    b3. onRollOver = over;
    b3. onRollOut = out;
    b4. onRollOver = over;
    b4. onRollOut = out;
    b5. onRollOver = over;
    b5. onRollOut = out;
    function over() {
    this. gotoAndPlay(2);
    function out() {
    this. gotoAndPlay(3);
    Any help is appreciated!!

    Assuming that frame 1 is the "hidden" state for the clips,
    just change the code as follows:
    // add a variable to the root timeline
    var currentClip;
    // add function
    function click() {
    this._root.currentClip.gotoAndPlay(1);
    this._root.currentClip = this;
    // add code to buttons
    b1.onRelease = click;
    b2.onRelease = click;
    // and so on...
    if frame one is not the hidden state, just change the first
    line of the click() function:
    this._root.currentClip._alpha = 0;
    // then change the over() function
    function over() {
    this._alpha = 100;
    this.gotoAndPlay(2);
    Hope this helps,
    Albee

  • Buttons within Complex Buttons

    Hi all - i'm trying to create a navigation system fairly
    indentical to this one:
    http://www.thefieryfurnaces.com/
    I am using a complex button with actionscript, however I
    can't get any of the navigation buttons to work on top of this. I'd
    like them to be complex buttons also ... can anyone help me work
    around this? Tearing my hair out!
    Cheers //
    Heath.
    Actionscript for the complex buttons i'm using below:
    stop();
    this.onEnterFrame = function(){
    if(rewind == true){
    prevFrame();
    this.onRollOver = function(){
    rewind = false;
    play();
    this.onRollOut = function(){
    rewind = true;

    One thing to get straight right away is that these buttons
    inside of movieclips. The buttons make the movieclips play, which
    is where the slideout effect comes in. The words are also buttons,
    with the over state containing the bouncing ball movieclip. All of
    these buttons are contained inside of another movieclip which make
    it looks like they are inside a sliding menu.
    What was the question again? haha

  • Actions on the main page..do they affect actions on movie buttons?

    ON the home page I've created, the buttons I used with the
    code in my previous thread ("two questions about HTML publishing
    and buttons"), I added an on rollover action to the actions layer
    of the main timeline (not the movie button timeline) so that on
    rollover, a picture would change according to the button that was
    rolled over. I did this for all three buttons. The rollover action
    works great, but now the links don't work in either the html OR the
    swf version. Would the added action disable the movie-clip button
    actions? Here's the added main timeline code, edited for space:
    photobtn_mc.onRollOver = function() {
    gotoAndStop(2);
    photobtn_mc.onRollOut = function() {
    gotoAndStop(1); ( Again, help is greatly appreciated!)

    When you add actions to a movie clip, they will take
    precedence to any buttons you have inside the movie.
    You can code the button however to control any movie clip as
    long as you give every movie name and reference it from the root.
    ie.
    on (release)
    _root.main.speller.nameframe.gotoAndStop(1);

Maybe you are looking for