ActionScript 3.0 :: Event Listeners - Dispatchers And Events
Jul 13, 2009
I have a base class, and I created a class to connect to C# to which it sends and receives data. Now I want the base class to know when the Connector Class has received data and to get that data. so custom events are the answer right. But no matter how much documentation I've read, I can't get my head around this. My current class, if I extend EventDispatcher the base class can pick up fine but I need it to get the data that it received as well. So I extended Event and I've put a listener on my base class but it's not picking up the event (in fact although it's compiling it seems its breaking my connection to the C# as my C# client gets an error).
Should my connector class be extending Event or EventDispatcher. Then if it extends Event, I need to create another class to dispatch the event? someone said to me I don't need events as the callback will handle it, but my callback is in my connector class not the base class.
View 2 Replies
Similar Posts:
Apr 30, 2009
In my SWF, I have a movie clip that I wish to play itself immediately after the site loads. I have two other movie clips that are required to play once the first movie clip has reached frame 13. This is a function that I would like to repeat, as the first movie clip (followed by the other two) will be required to play the others after certain mouse events within the movie.
PHP Code:
hello_button.addEventListener(MouseEvent.CLICK, click_handler);
function click_handler(event_object:MouseEvent) {
/* Do something with this event */
}
While others import class objects and operate under package headings when describing how to add listeners and send out dispatchers.
View 2 Replies
May 30, 2009
Here's a hodge-podge of information:
Custom Event Class:
Code:
package com.events {[code]...
I made a custom loader to replace the urlLoader and even tried a replacement for the _loader using the same custom event.Works great for the first addEventListener:
Code:
urlLoader.addEventListener(Event.COMPLETE, onSwfLoaded).But stops on the second addEventListener.If I just apply the custom event to the following...
Code:
_loader.addEventListener(Event.COMPLETE, onLoaderInit);
VERSUS
Code:
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderInit);it works just fine.As soon as I use it on the contentLoaderInfo line, it throws that type error cannot convert CustomEvent to Event error.I also double checked that my custom event listener was overriding clone()properly and it looks like it does.
View 1 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
Oct 20, 2011
I'm working on a web app built in Flash AS3. At a high level - the app has a main screen, and several "modal dialog"-type screens that pop-up to manage various user interactions. (This is a similar pattern I use in most of the apps I develop...) Typically - when the user clicks a UI control on the dialog screen (e.g., button, text box, slider bar, etc.) - the main screen needs to react, or manage the consequences. It seems like there are two general ways to handle this: Have the dialog screen dispatch events that the main screen listens for Allow the dialog screen to call functions in the main screen when those controls are clicked (which requires that the dialog screen maintain a reference to the main screen, and that the functions in the main screen are public)
In general - I understand that one of the key benefits of the first method is that the dialog screen isn't so tightly coupled; it's only responsibility is to broadcast the event. This would allow me to more easily use the dialog class in other contexts, or applications. But for many RIAs I develop - a particular screen is SO SPECIFIC to the the application that there's no chance I'd ever reuse it in another application. So, the "easy re-use" benefit is minimal. So - if you eliminate that benefit - which method is actually better? (More performant, less resource-intensive?) For example - if I use events, then Flash needs to manage many listeners for events that may never occur. So - it might be more efficient if the dialog window could call a function in the main screen directly, instead of dispatching an event.
View 3 Replies
Nov 30, 2010
I'm trying to make a program that grabs info from a text file then uses the info in the file to assign where certain balls will rotate (eventually I'll configure it to looking like dots rotating around an invisible sphere)Now, I can do these two things separately, load info from a file and make blue balls rotate around given points... but I've been tripping up hard on making them work together, and I think my problem is in how I handle the events and events listeners to work with the code, you'll need to start a new flash AS3 file Then on the stage create a circle with the oval tool convert the circle to a symbol named "BlueCircle" and name the linkage class as "BlueCircle" then paste this code...
Code:
var longLatLoader:URLLoader = new URLLoader();
longLatLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
longLatLoader.addEventListener(Event.COMPLETE, onLoaded);[code]....
View 3 Replies
Mar 27, 2012
iam making a game and i almost finish except one error i couln.t get it
TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@3738fb79 to flash.events.MouseEvent.
TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@3738fb79 to flash.events.MouseEvent.
[code]....
View 4 Replies
Sep 3, 2008
I have a Document class called Main.
As a child of Main, I have an instance of a class called NavMenu.
As children of NavMenu, I have multiple instances of a NavLink class: navLink01, navLink02, navLink03, etc.
Back up in the Main class, there is a function called navigateTo, which accepts sectionID variable as an argument.
My question is, what is the best practice to get the navLinks to call the navigateTo function on Main? I've been told that in the spirit of encapsulation, it is not best to pass a reference to Main down to the navLinks, and call the function from there.
But rather, it is desirable to use the event listener/dispatcher method, where the navLinks are dispatchers, while the Main class listens for the navLinks to broadcast their sectionIDs.
While this makes sense, however, don't you still have to pass a reference of the listener on the Main class down through the hierarchy, so that the navLinks are registered as dispatchers? Doesn't that defeat the purpose of encapsulation?
View 4 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
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
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
Jul 31, 2009
well i wish to know, whats the maximum amount of events which can be called?
previously in as2 i ran into this problem when i kept using roll over and roll out events. and very quickly it reached its limit. so i wish to know what the maximum is, and is there any efficient way of asking flash how many are being called?
View 2 Replies
Oct 19, 2009
let's say i have a function that is
function myFunction(argument1:int, argument2:int):void {
trace(argument 1 + argument2);
}
i can use myFunction(1,2); to get a trace of "3" but if it's a mouse event, or timer event, or anything myMC.addEventListener(MouseEvent.MOUSE_DOWN, myFunction); we can't put arguments in this because it would have been
[Code]....
View 2 Replies
Aug 3, 2010
I've an array of movieclips created via code that have some textfields. Then i have added some listeners to the movieclips.
Here the code:
Code:
arrNot[i].addEventListener(MouseEvent.MOUSE_OVER, titoloOver);
private function titoloOver(e:MouseEvent){
var nome:String = e.target.name;
TweenMax.to(curs,1 ,{y:contMain.getChildByName(nome).y + 23});
}
This code moves a cursor calculating the y coordinate depending the moviclip that is mouse overed. Now the movieclips have some textfields so when i mouseover the movieclips all works ok but when i mouseover the textfield i receive a #1009 error.
View 0 Replies
Feb 5, 2009
I have 8 movieclips on the stage: but1,but2,but3,..,but8.How do I use a for loop to add event listeners to each? I am trying this, but i'm sure its not correct:
Code: Select allfor (var i=1;i<9;i++){
but[i].addEventListener(MouseEvent.ROLL_OVER,onOver);
}
View 6 Replies
Feb 2, 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 - any trace statement I place within the event function will run for infinity. How do I call the objects properly to remove the listeners? Note: I've tried referring to currentTarget instead of target but that doesn't make any difference.
View 7 Replies
Mar 4, 2009
Can you put event listeners on bitmaps? Because the current project that I'm working on requires a lot of separate objects which are currently MovieClips, and because there can be several hundred, it causes the app to lag.
View 1 Replies