ActionScript 3.0 :: Add Event Listener To A String?
Oct 23, 2009
I have recently moved from AS2.0 to AS3.0 and I am trying to get to grips with event handling. I am managing for things like key presses and mouse clicks, but I have one that is stumping me.
I am successfully tracing a string as either "login successful" or "login unsuccessful" from a PHP file on a local host and it traces as working in my Login class. Now I want to listen for the "login successful" string, currently tracing in my Login class and if it works, call an EventHandler in my Main class which will execute the next step.[code]...
I have recently moved from AS2.0 to AS3.0 and I am trying to get to grips with event handling. I am managing for things like key presses and mouse clicks
I am successfully tracing a string as either "login successful" or "login unsuccessful" from a PHP file on a local host and it traces as working in my Login class. Now I want to listen for the "login successful" string, currently tracing in my Login class and if it works, call an EventHandler in my Main class which will execute the next step.
Here's my code so far
PHP Code:
private function onLogin(e:Event):void { var loader:URLLoader = URLLoader(e.target);
I am trying to essentially pass a string as a function name into an event listener, but I am not sure how to approach this. Is there a way to convert a string into a function?
Here is some code I have for me to show you what I am doing.
package{ //some import statements public class changes extends MovieClip{
TypeError: Error #2007: Parameter listener must be non-null.at flash.events::EventDispatcher/removeEventListener() at project1_fla::MainTimeline/btnName()
I am trying to learn JavaScript and I am wondering whether JavaScript has a event listener just like ActionScript's ENTER_FRAME. Basically, I want this event listener to listen "all the time" not just wait for any particular instance (mouse click, keyboard event) of event.
if I have an event listerner (mouse, keyboard, enterframe,....event) that is being triggered, and when it finishes its event, something that is able to detect the finished event listener and fire out another sets of event.
It works more like MOTION_FINISH in TweenEvent, but it is only available for TweenEvent only, what if I want to detect a mousclick, keyboard, enterframe or even touch event?
My stage has about 25 buttons on it. Each button when pressed to tweens the background to some random x/y coordinates and then loads an external swf file.This is all working, but the timing is off. How can I wait for the initial background tween to end before I make the loader call to the .swf file.Currently each button's behavior is called on the MouseEvent.CLICK event which calls a function that knows its unique filename.swf. I know you can add the MOTION_FINISH even to the tween event but then I would have to call a new function and lose track of the button that initially called it.
I'm moving on to my next massive programming project and I'm trying to decide whether I should code it in as 2.0 or 3.0. I came across the new click event model in 3.0. Right now it's looking like a pain in the butt to me. So now I have to make a function and add it as an event listener? what the hell? What's the benefit? I understand stuff like this makes AS a more complete language but it's kinda annoying.
This is a very basic question but I can't seem to find an answer. I have a mouse over event and have created the buttons with the mouse overs which is working great. I created the actionscript to go to a specific web page when a user clicks the button. Now, I need to add a label to the mouse over so when someone mouse's over any area of the button, it will show them a particular name for the button.
I am sure that this can be done using actionscript in a mouse event roll over command but I can't figure out what I need to show the text. Here is where I am:
how can i access event.target outside event listener method.say for example
my_mc.addEventListener(MouseEvent.CLICK, onC); function onC(e:MouseEvent):void { var m:MovieClip = e.target as MovieClip; } trace(m.totalframes);/// not working
now what if i want to get totalframe property of m instance, in short for every movieClip clicked.
I am doing this inside a module containing viewstacks and their childs.Calling onInit() on creationComplete of module.When I am inside one of the childs of a viewstack of this module and press Enter, it doesnt not invoke the listener function at all (bp inside this does not get hit).
private function onInit():void{ this.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); }[code]..........
This might be more of a subjective question, but is it generally best practice to have one dedicated method per event-types that you add an event-listener?
Such as:
myButton.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); myButton.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); //Somewhere else in the code...
[Code].....
And if you had a MouseEvent.MOUSE_UP, MouseEvent.MOUSE_DOWN and other relevant MouseEvents event-listeners to watch for, you could even set a switch statement to handle all the various MouseEvent types.
I have these buttons in a movie clip and I would like to have only one event listener for the parent, using event.target to point to the children. I have also tried event.currentTarget, and it didn't work.here is the code that works:
I have a code in AS3 that works when you rollover it. I need to use the same code but not with an eventlistener for a mouse event but a frame event when the timeline plays the clip
var coordX:Number = shaker_mc.x;var coordY:Number = shaker_mc.y;var timer:Timer = new Timer(10); shaker_mc.buttonMode = false; shaker_mc.addEventListener(MouseEvent.MOUSE_OVER,startShake);shaker_mc.addEventListener(Mous
printableInvoice.addEventListener(batchGenerated, printableInvoice_batchGeneratedHandler);Results in this error: 1120: Access of undefined property batchGenerated. I have tried it as FlexEvent.batchGenerated and FlashEvent.batchGenerated.
The MetaData and function that dispatches the even in the component printableInvoice is all right. It I instantiate printableInvoice as an mxml component instead of via action-script it well let put a tag into the mxml line: batchGenerated="someFunction()
I have a flash app that I would like to listen for a string of characters being typed on a keyboard. If a user typed in apple as an example that would either be correct or incorrect, and if they typed it in uppercase or lowercase or upper and lower it would still equate to true. Here is the tricky part, the string is not being typed into a textfield or anything like that, it must just be typed and after flash sees the correct keys pressed in the correct sequence it will fire a function.
I have seen this done before in a situation where a website had a background administration application, and when browsing the site you could just type admin, and a window would pop up asking for a username and password, so that is almost exactly what I want. Because of this I figured I would try to replicate the admin application first as it should be simpler
This is what I have thus far stage.addEventListener(KeyboardEvent.KEY_DOWN, keysPressed); var keyCatcher:Array=new Array(); var keyCatchNew:String; function keysPressed(e:KeyboardEvent):void{ if(e.charCode==65 || e.charCode==68 || e.charCode==77 || e.charCode==73 || e.charCode==78 || e.charCode==97 || e.charCode==100 || e.charCode==109 || e.charCode==105 || e.charCode==110){ keyCatcher.push(String.fromCharCode(e.charCode)); [Code] .....
This is something that tugs at my mind a lot so I figured I'd ask the community. If I have a class called MyParentWidget and it contains an instance of MyChildWidget with an instance name of myChildWidget then I will often do something like this:
I'm building a center stage object and I wanted to know if there's any way to add a event listener that checks if the children have changed in size.[code]This seems like it should be available but I can't find a reference.
I have a simple roll over animation. After the roll over, is there any way to disable the event listener so that the animation will play completely before any further interaction happens? Then re-enable it so it can be rolled over again? [code]...
I have a rollover function that sets alpha values, and i also have a click function that sets the alpha even higher on click. I also have a roll out function to return it to normal when roll out. The thing is i want it to hold the high alpha value on click because that is the web page is selected. It works, but the second i rool out or roll over, it sets the value back. [code]...
i have my main swf that loads different swfs for content.on a portfolio page i have two buttons web and print.by default print loads first.
but lets say someone has entered my portfolio and while print is loading the user clicks on web, the print has not done loading so its even listeners will not be removed causing a clash with my web swf pre loader and letting it work.
I am loading data from XML and can create MovieClips to hold the images and text data for each node. However, I can't figure out how to add an onRelease Event Listeners to each MovieClip.
I'm trying to figure out if it's possible to run multiple buttons using a single addEventListener so that I don't have to create extra code. For example, in the code below I have my instance name "btnCA" which is on my movie clip. It works great and there are no issues with this code, but I need to add more buttons. Does that mean I have to copy and paste this code for each button or is there a way to add multiple instances to an event listener?
Sample code: buttonMode = true;useHandCursor = true; var rewind:Boolean =
stage.addEventListener( MouseEvent.MOUSE_DOWN, clicSouris); function clicSouris( pEvt:MouseEvent ):void { var positionX:Number=pEvt.stageX; var positionY:Number=pEvt.stageY;
[Code]....
what appens when I add an Event Listener to Object Event?
Following the logic with the display list in AS3, I thought only Classes who inherit flash.display.InteractiveObject could react from events coming from mouses (or keyboard).
I was wondering if there is such a thing as a mouse over listener.So that it would execute code when the mouse rolls over(and maybe also execute code when the mouse moves away again)