ActionScript 3.0 :: Add Event Listeners To MC On Stage?
Nov 6, 2010
I found this code for a contact form at[url]...and it dynamically creates input fields and buttons. I didn't like the dynamically drawn submit and reset buttons, so I added my own MCs(my 'buttons') to the stage.I tried modifying the code and took out the dynamically drawn buttons..However, I cant figure out how to add Event Listeners to the buttons which exist on the stage--Im getting undefined errors...[code]...
View 2 Replies
Similar Posts:
Apr 7, 2009
As part of a very large project, I want the ability to set stage level event Listeners.
This works very easily with MouseEvent s but I can not seem to get it to run properly with KeyboardEvents. Having google'd this issue I have found very little on the subject. Mostly noobish type questions of syntax and so forth, but I have seen comment of people claiming to have it work for them.
To ensure no issues with any other code, I have made a blank project and blank .as file, with only the event listener code:
[Code]....
Click events are always captured and traced correctly, without fail. Pressing keys appears to do nothing. If however you mash the keyboards very very quickly, one or two key events will trigger sporadically.
View 5 Replies
Apr 22, 2010
I think I have been generating duplicate Event Listeners behind the scenes which is causing me some problems.
I like to find out what Listeners are in existence at a single moment. My code is long so it is hard to go line by line to isolate the issue. It would be faster if I knew what Listeners are were activated.
View 2 Replies
Feb 5, 2010
I create a stage keyboard event listener in an externally loaded swf such as:
Code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, onDown);
My question is how and where I should remove this event listener? I have added an unload event handler to the external swf like this:
Code:
this.loaderInfo.addEventListener(Event.UNLOAD, unloadHandler);
The unloadHandler code looks like this:
Code:
private function unloadHandler(event:Event):void {
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onDown);
}
When the container swf unloads the external swf, unloadHandler() gets called, but with the following error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
Where should the keyboard event be removed?
View 9 Replies
May 24, 2011
i am making a simple game i want to be able to add an keyboard event lisnter within the class constructor. However i am having trouble. i undertsand you have to pass the stage through a listed display object property stage? anyway i am getting errors that do not recognise my event listener keyboard event.
package louiseguchi.game
{
import flash.display.Stage;
[Code]....
View 2 Replies
Feb 6, 2009
I'm adding and removing stage event listeners I am relatively new to AS 3 and have been building a liquid layout site unfortunately I do not have a strong grasp of classes and have been doing all of my scripting on the main timeline with encapsulated script within MC's.
basically I am calling on the same functions over and over and those are mostly resize functions which I have added StageEventListeners on the appropriate frames to listen for resize events on that stage now as of now I have literally dozens of these scattered about the site. when testing my site things are running fairly smoothly however I keep getting error messages in my output window that go a little something like this.
[Code]...
View 1 Replies
May 11, 2010
I have 22 buttons (each named buttoni where i is a number between 0-21...e.g. button0, button1, button2) that I've created and artfully arranged on the stage in my .fla file. The document class for the .fla file is People.as, and in People I'd like to give each button a rollover and click event listener, but I can't figure out how to refer to them using a loop.
Here's my code, which obviously doesn't work:
ActionScript Code:
private function initButtons() : void {
for (var i:int = 0; i<numSquares; i++) {
var thisButton : String = "button" + i;
[Code].....
View 6 Replies
Nov 6, 2010
I found this code for a contact form at msinghinteractive easy-to-use-flash-as3-contact-us-form-class and it dynamically creates input fields and buttons. I didnt like the dynamically drawn submit and reset buttons, so I added my own MCs(my 'buttons') to the stage. I tried modifying the code and took out the dynamically drawn buttons..However, I cant figure out how to add Event Listeners to the buttons which exist on the stage--Im getting undefined errors...The fla is directly associated to a main.as class which just determines the parameters of the .as class it is tied to -to set the size of the Contact form.This is the entire class:
Code:
package{
import classes.*;
import flash.display.*;
[code]....
where btn is the instance name of my submit button MC.My problem is that because my buttons exist on the stage I dont know how to add Event listeners within that class---or rather doing that doesnt work because the listeners are throwing that undefined property errors--I gave them instance names...
View 7 Replies
Mar 20, 2012
I have just added a menu screen to my game and I get the following error:
ActionScript Code:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at MyGame()
[code].....
View 4 Replies
May 23, 2010
I am creating a site with lots of big scrollable text-boxes in it. Each text-box object contained some text, and two buttons to scroll up/down with. The scroll buttons each had an event listener so the text moved when you clicked them.
These text-boxes were stacked on-top of each other with all except one having an alpha of 0. If I wanted to change which text-box is active I move it to the front and call a small TweenLite animation.
To the left (outside of the text-box objects) I have an object similar to a menu. It also has about 12 or so event-listeners (one for every button).
This turns out cause A LOT of lag an it's very troublesome for my laptop to run it. reduce the number of event-listeners on the stage and also the amount of text-boxes.
What I was thinking was to add the text-boxes using AS so I only have 1 on the stage at a time but I couldn't figure out how to do it. I also thought it might be better to just use 1 big event-listeners and from mouseX and mouseY decide which button the user is trying to push.
View 1 Replies
Sep 19, 2009
I have a movieClip on stage, inside is a dynamic textfield, and I have set mc.scaleY = 0;
Code:
mc.scaleY = 0;
mc.buttonMode = true;
mc.mouseChildren = false;
And suddenly everything above and below (on the whole stage) where the movieClip actually is receives mouse, I can see by the button mode. But it only happens with dynamic text, not static.
I have attached the example:
View 8 Replies
Feb 20, 2009
I have a loop which creates a bunch of movieclips and sets them on the stage.As I create each one I attatch an eventListener to it.My problem is that when the eventListener fires, the function it calls always works on the first mc added to the stage, not the one that fired the listener.How do I fix this?Here's a bit of the code:
Code: Select allfor (var i:int=0;i<numOfItems;i++) {
item = new Item();
//etc etc[code].....
View 1 Replies
Aug 16, 2011
In AS3 on Android is it bad from a performance perspective to attach mouse event listeners to individual sprites rather than to the stage? I am writing an app for an Android phone using AS3 in Flash Builder. The app has multiple screens that respond to user touch. The screens are arranged in a hierarchy and show list data so that when you click on an item in a list you are presented with a new screen with a new sub list on it.
I have been using an event listener to detect mouse / touch input and based on something I read that indicated that performance is much better if you keep the number of objects you are listening to to a minimum I have attached the mouse listeners from each screen to the stage object.
This all works fine but I am finding that as I move between screens (and they get popped or pushed onto the dislay stack) I have to keep track of alot of adding and removing listeners to the stage object. If I don't then windows higher up the hierarchy than the current screen keep receiving mouse events.
If I used listeners attached to sprites in each window then when the window was removed from the display even though it is kept in memory (ready to be popped back when a child window is closed) it won't receive any mouse events....
Performance doesn't seem to be impacted using listeners directly on sprites when using my HTC phone to test with, however I obviously don't know what it will be like on other phones. Does anyone have any experience either way or a view on the best approach?
View 1 Replies
Oct 12, 2011
I want to make a static function that I can use in all the custom classes.It should be some kill(); function that would remove the object from the stage as well as removing its event listeners. I made it in Document class, and it didn't work. Here's the code:
ActionScript Code:
public static function kill(e:DisplayObject)
{[code].....
View 3 Replies
Nov 24, 2011
I have this in my constructor:
[Code]..
The problem is I get Error: Error #2094: Event dispatch recursion overflow. Why does removechild keep getting called if this.parent does not exist? Why doesn't removing event listeners work?
View 1 Replies
Sep 3, 2009
Can event listeners only be added to the class which dispatched the event? I ask because I want to have the logic for the listener on the main class, and the action is dispatched on click from a thumb which is instantiated in a scroller class. Kinda like this:
ActionScript Code:
pseudo code:
class main {
main() {
[code]....
This doesn't work. Why can't the main class listen for an event on the thumb class?
View 1 Replies
Feb 13, 2010
An odd thing is happening for me, my eventlisteners only fire off once then they seem to stop working.
This thing is a movieclip that slides up the parent movieclip and another movieclip within mc slides it down. They only work once.
ActionScript Code:
slider.up.addEventListener(MouseEvent.MOUSE_UP, activateSlider);
slider.down.addEventListener(MouseEvent.MOUSE_DOWN, activateSlider2);
var frameBoolean:Boolean = false;
[Code].....
View 9 Replies
Mar 11, 2009
So I've gotten into using my own as Classes, and have an interesting question.
My main swf calls a php script that gets data from a mysql database which is returned as XML. Part of that data that is retrieved is a filepath to a jpg image. It then takes that filepath and other information, and passes it to my external class, the "news story" class.
All fine and good. Then, the "news story" class uses a loader to load that image along with some text, organize it, and voila, you've got your own very pretty "news story". (I'm extending the MovieClip class here, though I suppose it doesnt matter)
Now, my main swf uses this component to load multiple of these "news stories". The problem is, theres that load time for the image. The main swf is loading them all one at a time, because they are putting each one together on their own.
The key here is that it be dynamic. So, since we don't know how much text is in each "news story", we also therefore don't know it's height. What I'm doing is creating each story in the main swf, pushing it into a "news story" array, adding an event listener to each ones' loader, and when the event listener is triggered, I want it to go to the 'add content' function where it sets the news story's Y value based off the position and height of the previous story that was added (stacking them, obviously). This makes sense, because otherwise it'd add them all on top of each other and it'd be a jumbled mess.
The problem is, the event listener is on the loader object INSIDE the component actionscript. So, how do I figure out which news story to set the Y value for? Because the eventlistener is listening to the loader, not the class. I hope this makes sense AT ALL. Here is the code:
Quote:
while (fancy shmantzy conditions)
{
/*creates the news story and passes xml data to it (filepath, etc)*/
storyBlock = new StoryBlock(a bunch of parameters);
subCBArray.push(storyBlock); //array that stores each news story info
[Code]....
View 2 Replies
Aug 7, 2009
I have made an event listener:text0_mc.addEventListener(MouseEvent.CLICK, showMe);showMe is a function, but I need it to call more than 1 function at once i.e. -ext0_mc.addEventListener(MouseEvent.CLICK, showMe1, showMe2, showMe3, showMe4, showMe5, showMe6, showMe7);Each function contains an if statment as below.
function showMe1(event:MouseEvent):void
{
if (shuffledArray[1]==orderArray[1]){
[code].....
View 1 Replies
Sep 27, 2009
In AS2 you could add an onRelease to multiple buttons like this:
Code:
onebutton.onRelease = anotherbutton.onRelease = lastbutton.onRelease = function() {
//do something when either button is pressed;
}
Is there something similar possible in AS3 using addeventlistener? Besided copying the same addeventlistner line for all individual buttons?
View 1 Replies
May 17, 2010
Lately I've been twitching in the back of my head wondering just how many references to objects that I'm making, and whether or not they are getting GC'd or not.My question in this sense refers to event listeners and whether or not they are removed in certain cases where you get rid of an object. Two examples:
First, and I think this one is an easy one... when you create an object that adds an event listener to itself INSIDE it's own methods (e.g. this.addEventListener(e:Event, function)), when you REMOVE that object (this), do it's event listeners disappear too? I can only say yes, because they are referencing THAT object and are INSIDE that object.
So I think that question answers itself (but I'd love to know if the truth says otherwise).
But secondly, if you add an event listener to an object from a sibling or parent object, and then remove the object, does that event listener stick around, therefore maintaining a reference to that object and keeping it in memory? And is that the concept that people keep referring to of 'weak' event listeners? E.g. someChildObject.addEventListener(e:Event, function)Also, are event listeners by default strong or weak?
And I am assuming that 'yes', it DOES keep the reference. Which, if you are a n00b programmer like me, you probably are all like, 'aww sh*t damn, how am I supposed to make sure that my objects are getting thrown in the garbage collector's mouth of goodness every once in a while?
View 1 Replies
Jul 1, 2009
I have a movielcip (A) class in which I have used a Tween class effect on a child movieclip (B) scrollRect. The (B) Movieclip in turn has several movieclips whose have tween class effect being executed on thier child movieclips.the tweens are all unique to each movieclip and the event listeners are taken off once completed.This works all well and good in FLASH IDE..My problem arises when I try to view this in a browser on a Windows XP.[code]
What is happening in most cases it that the animation appears to "stick" but i think what may be happening is the listening or removal of the event listeners. The animations are left incompleted.Is there any rule of thumb when using multiple event listeners?[code]the effect disables and re-enables the buttons when its done.... then the listeners are removed.each one with the exception cretes its own unique tween (obviously this is a custom class built as each clip)
View 1 Replies
Dec 16, 2009
If you have multiple event listeners running, is there any way to remove all of them at once rather than one at a time?
View 3 Replies
Apr 13, 2010
I have an array that returns multidimensional data from an mysql database, when this is collected the createNews function creates the user interface. The problem I am having is the loop is iterating quicker than the UI is being created, is there a way to use event listeners with loops so it only continues after my function has completed its work?
[Code]...
View 2 Replies
Jun 14, 2010
In my Flash project I have a movieclip that has 2 keyframes. Both frames contain 1 movieclip each.
frame 1 - Landing
frame 2 - Game
The flow of the application is simple:
User arrives on landing page (frame 1) User clicks "start game" button User is brought to the game page (frame 2) When the game is over, the user can press a "play again" button which brings them back to step 1
Both Landing and Game movieclips are linked to separate classes that define event listeners. The problem is that when I end up back at step 1 after playing the game, the Game event listeners fire twice for their respective event. And if I go through the process a third time, the event listeners fire three times for every event. This keeps happening, so if I loop through the application flow 7 times, the event listeners fire seven times. I don't understand why this is happening because on frame 1, the Game movieclip (and I would assume its related class instance) does not exist - but I'm clearly missing something here.
I've run into this problem in other projects too, and tried fixing it by first checking if the event listeners existed and only defining them if they didn't, but I ended up with unexpected results that didn't really solve the problem.
View 2 Replies
Nov 9, 2010
How do I define my own event listeners in AS3?
View 3 Replies
Dec 17, 2010
I have a basic question about manually removing event listeners in actionscript 3.If I have a function like:
private function doStuff(event : Event):void
{
//let them save
var f:FileReference = new FileReference();
[code]...
How do I remove the event listeners when the saveDone function is called? Normally I just change the "add" to "remove" like:
f.removeEventListener(Event.COMPLETE,saveDone);
However, f is a local variable, and I can't get to it after the doStuff function ends.
private function saveDone(ev:Event){
f.removeEventListener(Event.COMPLETE,saveDone);
}
View 3 Replies
Jan 23, 2011
How do you know when you should remove event listeners? For example, I know that if I have a TimerEvent listener, I can safely remove that event when I have stopped and / or deleted my timer. Or, if I have a display object on the stage, and I remove it, I can safely remove any event listeners associated with the display object.
View 1 Replies
Jan 31, 2009
I've placed listeners on the var "topic_mc" (below), but I'm not sure how to remove them properly:
Code:
private function layoutTopics(modNum:Number, attachTo:MovieClip):void {
topicLength = MainMenu.modArr[modNum].topicArr.length;
if (Interface._ui != null) {
[code]...
doesn't really work - the listeners keep running. How do I call the objects properly to remove the listeners?
View 0 Replies
Feb 1, 2009
Im sure this has been asked a million times, so forgive me but I cannot seem to find an answer or my search query is wrong. I am using Tweener for animation.
I have 2 MC's on my stage. I have an event listener for my main MC (MOUSE_OVER, MOUSE_OUT) that triggers Tweener to animate another MC on top of the main clip. The problem is that when it overlaps the listener no longer works, and tried to execute the MOUSE_OUT. I understand why its not working, I just cant find a solution. Here is the code and a simple FLA.
ActionScript Code: import caurina.transitions.Tweener;
square.addEventListener(MouseEvent.MOUSE_OVER, RollItIn, false, 0, true);
square.addEventListener(MouseEvent.MOUSE_OUT, RollItOut, false, 0, true);
function RollItIn(evt:MouseEvent):void {
[Code]....
View 5 Replies