So will this work?

divers_btn.addEventListener(MouseEvent.ROLL_OVER, function() { this.gotoAndStop("OVER");});

I mean. Will this = divers_btn? or do I HAVE to specify divers_btn.gotoAndStop()?
After all I am applying the listener to it.

@jason Not that I am going to continue with annon functions, just currious.

Basically, I am trying to set up the listener for the buttons to be generic for the buttons hover states.
Then specify data for the click state per button.

So if
button1_btn.addEventListener(MouseEvent.ROLL_OUT, toggleB1(1));
doesnt work, how do I specify which frame to move to.
Trying to set up a toggle if you will. I DONT want to have to create a function for EVERY state for EVERY button I have.
That just seems stupid to me to have to do. Very bloated IMO.



On Oct 24, 2012, at 2:58 PM, Hans Wichman wrote:

Hi Karl,

when you are starting with as3: whatever works :)).

Basically both will work (anon and nonanon (double wow)), but anonymous is harder (read impossible) to remove. So if you create a view that exists throughout the lifetime of the app, with buttons that do the same, either way will work. If you are creating and removing a lot of buttons, I'd skip anonymous, and nicely removely the listeners when done.

button1_btn.addEventListener(MouseEvent.ROLL_OUT, toggleB1(1)); will not work because you are registering the result of the toggleB1(1) call, which in most cases will not be a function reference.

What you wanted to do is something like the old as2 proxy or delegate call, which you can recreate in as3 and would result in something like: button1_btn.addEventListener(MouseEvent.ROLL_OUT, Proxy.create (toggleB1, [1])); Thing is, as3 is going to pass event objects as arguments as well, so this is getting more complicated than its worth real fast.

But I would do myself a favor and pick up "actionscript 3 essentials" and "actionscript 3 cookbook". Doesn't take too long to get through them and saves you a lot and a loooooooot of frustration :)


On 24-10-2012 21:49, Karl DeSaulniers wrote:
OH? What is the best coding standards way?
I used an annon function because

button1_btn.addEventListener(MouseEvent.ROLL_OUT, toggleB1(1));

Does not work.


On Oct 24, 2012, at 8:43 AM, Merrill, Jason wrote:

function() { gotoAndStop("divinedivers"); });

Yeah, this is weird and unnecessary. Anonymous functions are recommended against in AS3.

Jason Merrill
Instructional Technology Architect II
Bank of America  Global Learning
703.302.9265 (w/h)


-----Original Message-----
From: [ ] On Behalf Of Paul A.
Sent: Wednesday, October 24, 2012 8:33 AM
To: Flash Coders List
Subject: Re: [Flashcoders] AS3

Try removing:

button1_btn.mouseChildren = false;
button2_btn.mouseChildren = false;

Your code is a bit convoluted!

divers_btn.addEventListener(MouseEvent.CLICK, function() { gotoAndStop("divinedivers"); }); scuba_btn.addEventListener(MouseEvent.CLICK, function() { gotoAndStop("scubadudes"); });

divers_btn.addEventListener(MouseEvent.ROLL_OVER, function() { divers_btn.gotoAndStop("OVER");});


On 24/10/2012 12:39, Karl DeSaulniers wrote:
Hello All,
Long time. If your available at the moment, I could use your help with
some AS3.
I finally got an AS3 job! Yay! But I am stuck on the most simple of
All I am trying to do is make some buttons work... lol Here is my

button1_btn.buttonMode = true;
button2_btn.buttonMode = true;
button1_btn.useHandCursor = true;
button2_btn.useHandCursor = true;
button1_btn.mouseChildren = false;
button2_btn.mouseChildren = false;

button1_btn.addEventListener(MouseEvent.CLICK, function() {
changeSelect(1); }); button2_btn.addEventListener(MouseEvent.CLICK,
function() { changeSelect(2); });
button1_btn.addEventListener(MouseEvent.ROLL_OVER, function() {
toggleB1(2); }); button2_btn.addEventListener(MouseEvent.ROLL_OVER,
function() { toggleB2(2); });
button1_btn.addEventListener(MouseEvent.ROLL_OUT, function() {
toggleB1(1); }); button2_btn.addEventListener(MouseEvent.ROLL_OUT,
function() { toggleB2(1); });

function changeSelect(p):void {
      switch (p) {
          case 1:
          this.gotoAndStop("divinedivers"); //goto frame
divinedivers in this MC
          case 2:
          this.gotoAndStop("scubadudes"); //got frame scubadudes in
this MC

function toggleB1(f):void {
      button1_btn.gotoAndStop(f); //toggle this button MC frame }

function toggleB2(f):void {
      button2_btn.gotoAndStop(f); //toggle this button MC frame }

Why does AS3 have to make things so difficult for something so simple??
What the heck am I doing wrong???

Also, how do you use just a button instead of a mc?
I tried using just a button and it wouldn't even switch to the over
state that is inside the button!!?

AS2 is just so much more simple... sigh*


Karl DeSaulniers
Design Drumm

Flashcoders mailing list

Flashcoders mailing list

This message w/attachments (message) is intended solely for the use of the intended recipient(s) and may contain information that is privileged, confidential or proprietary. If you are not an intended recipient, please notify the sender, and then please delete and destroy all copies and attachments, and be advised that any review or dissemination of, or the taking of any action in reliance on, the information contained in or attached to this message is prohibited. Unless specifically indicated, this message is not an offer to sell or a solicitation of any investment products or other financial product or service, an official confirmation of any transaction, or an official statement of Sender. Subject to applicable law, Sender may intercept, monitor, review and retain e- communications (EC) traveling through its networks/systems and may produce any such EC to regulators, law enforcement, in litigation and as required by law. The laws of the country of each sender/recipient may impact the handling of EC, and EC may be archived, supervised and produced in countries other than the country in which you are located. This message cannot be guaranteed to be secure or free of errors or viruses.

References to "Sender" are references to any subsidiary of Bank of America Corporation. Securities and Insurance Products: * Are Not FDIC Insured * Are Not Bank Guaranteed * May Lose Value * Are Not a Bank Deposit * Are Not a Condition to Any Banking Service or Activity * Are Not Insured by Any Federal Government Agency. Attachments that are part of this EC may have additional important disclosures and disclaimers, which you should read. This message is subject to terms available at the following link: By messaging with Sender you consent to the foregoing.
Flashcoders mailing list

Karl DeSaulniers
Design Drumm

Flashcoders mailing list

Flashcoders mailing list

Karl DeSaulniers
Design Drumm

Flashcoders mailing list

Reply via email to