AS3 :: Flash - Dispatch An Event DOWN The Display List (instead Of Up)?
Dec 15, 2009Consider this (psuedo-code):
var country = new Country();
addChild(country);
var state = new State();
[code]......
Consider this (psuedo-code):
var country = new Country();
addChild(country);
var state = new State();
[code]......
So, events bubble up the display list. That's great if that's what you want. But what if you have objects on the stage that are not related that need to listen for events from each other? A simplified example:
var objA = new ObjA;
addChild(objA);
var objB = new ObjB;
[Code]....
Object B can listen for events dispatched by object C. But I also need object A to listen for events dispatched by object C. Also, these objects are created in different classes so I can't hard code references to each other.
I have a SendData class that sends form info to a php script. It is a static class that does not extend anything.
I want to be able to dispatch an event if there is an error, or when it gets info back from the server. I have a custom event class that I have been using to dispatch events like this, but I have only used that in displayObject extended classes.
The problem is, it seems like something has to be a displayObject based class to dispatch events. I know there must be a way to do this, but I'm having trouble finding it in searches.
I have a list of 10+ items. when i click back up the list 1 step i call the code below to remove a thumbnail image associated with that list item.
if(indice < count-i){mx.core.Application.application.removethumb.dispat chEvent(new MouseEvent(MouseEvent.CLICK));
}
HOWEVER: I would like that if - for example i am on item 10 and click to item 4 - all the thumbnails between 4-10 are removed. it it possible to dispatch this click event X number of times dependant on the - count value?? FOR REFERENCE: THIS IS THE CODE THAT REMOVES ALL ITEMS BEYOND THE ONE I HAVE SELECTED:
[Code]....
I have an event listener for a custom event type. This custom event overrides the clone method as required.In this event listener I want to dispatch an instance of a different type of event... a different custom event instance altogether. It also overrides the clone method as required.The problem is I'm getting a type coercion error: TypeError: Error #1034: Type Coercion failed: ...I do not know what is trying to do the casting. My code is:
/* elsewhere in a method */
addEventListener(GestureEvent.GESTURE_SCALE, handlePinched);
/* the event handler */
[code].....
I'm trying to dispatch a custom event from a custom class (which implements IEventDispatcher) to another custom class (also implements IEventDispatcher) but I cannot trigger the corresponding event handlers.The classes are instantiated at different parts of the application: one on the main canvas and the other on the back-end (data side) of the app. Neither of these is part of the display list hierarchy and I need them to communicate through events.I've looked through adobe docs, the web and Mook's Essential AS3, but have come up with nothing...
View 4 RepliesI have a movieclip, let's call it "myMC", that is very long (5,000 frames) over the course of which many dozens of nested movieclips are added/removed as children to/from "myMC".Without reference to the nested clips, is there a way I can add a listener to myMC and listen for when an object is added/removed from it (something along the lines of Event.ADDED)?
View 2 RepliesI have a class which makes a url request and stores data from that request. When the data is retrieved, parsed, and stored into an array, I'm sending a dispatch event which I listen for in my document class. In the event handler function in the document class, I'm accessing the array that was compiled from the class. The array inside the class has 15 values, however in my event handler function, I'm only retrieving one value from it, which is the last value in the array. I posted my code below. Is there a different way I'm supposed to use the dispatchEvent in order to retrieve all of the array values instead of one?
Class
package com.src
{
import flash.display.Sprite;
[Code].....
I'm trying to do an eventDispatch but the event isn't getting picked up.The dispatch is coming from swf B, and the listener is in swfNot sure if it's an issue because they are 2 files. Does anyone know of a solution?
View 1 RepliesBasically all I want to know is if there will be a hit on performance as I dispatch events more frequently, or if this is a trivial task for flash to complete.
View 2 RepliesEventdispatching here we are again...
I'm trying to dispatch a custom event from an custom ItemRenderer inside a Datagroup with no success.[code]...
From what i saw in the debugger, the events are dispatched from the ItemRenderer, but they never get catched by the listener (listener handler is never called). Many suggestions fly around about that in stackoverflow, but most for older flex versions or not practicle for my scenario.
I've a Flex application which loads a Flash swf via SWF loader; the Flash swf is in AS3. the flash swf has code to dispatchEvent a Text Event
Flash Code:
var re:TextEvent = new TextEvent(TextEvent.TEXT_INPUT,true,true);
Flex Code:
<mx:SWFLoader source="menu.swf" id="mnu" complete="menuLoaded(event)" />
private var mySwfMve:MovieClip;
function menuLoaded(event:Event): void {
[Code]....
I don't see any TextEvents being dispatched from Flash. They are not seen in the debug trace.. I can capture enter frame events however.
My prog here doesn't work there's no syntax error My flash custom event doesn't trigger
so my question is can flash object dispatch custom event to itself because that's what I wanna do ?
I have small swf as3 flash applications that are loaded by a main flex application. The main Flex Application contains an SWFLoader and i added an event listener on SWFLoader.content to fetch custom events that I prepared.
now whenever I like in the application I use the function dispatchEvent to create the event and I make sure that the bubbles parameter of the event is true. so in this case the event bubbles up in the stage until it reaches my event listener and I can handle the event properly. the problem resides when I have a static class and I want to dispatch the event from there. because it's a static class and not a display object that appears on my stage it has no where to bubble to and because of that I cannot fetch the custom even in my main flex application.
[Code]...
I am having trouble using a custom event in flex. I need to dispatch an event from inside two nested components and receive it in the main application file. The basic set up is a main application file importing a custom "gallery" component.
[Code]..
In my AIR application, I try to dispatch a custom event from a class to main window.This class is use to call httpservice. My goal is to send a custom window when the httpservice result is send.[code]...
View 1 RepliesI have an RTMP stream loading and would like to know the drop off time of the video. Is there a method of knowing when a person abruptly leaves the video session by closing the window, back button, address bar, etc?Or do i need to make an external interface call from JavaScript to Flash using something like onunload & onbeforeunload events?I am guessing that it is the later, but wanted to see if there was a method of keeping all my code inside of AS3.
View 2 RepliesI 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?
I have a list containing display objects from throughout the application (insertion order). I want to process the list either top-down (parent, child) or bottom up (child, parent). The only requirement is that either a parent is processed before any child or vice versa a child before its parent. What is a good approach? This question is not about sorting a list. It's about retrieving the depth of a particular display object.
Example
Display list:
A (root)
B1
C1
C2
D1
B2
......
My list:
list = [E1, F4, A, B2, B1, C3, ..., N9, N8]
Bottom-up:
N9, N8, F4, E1, C3, B2, B1, A
Top-down:
A, B2, B1, C3, E1, F4, N9, N8
Does not matter if N9 before N8 or N8 before N9. Important is that any N is before M (first run) or any M before its children N* (second run).
Is it possible to grab an event, hold it in a class property, do some action, then, when that action is complete, dispatch an event and then retrieve the original event.target in the listener?I am trying to avoid using a custom event for now, as it is giving me massive amounts of heartburn when dispatching it from a loaded SWF.Here is some code (that doesn't work)what I am attempting to do:
package
{
import fl.transitions.easing.Regular;
import fl.transitions.Tween;[code]....
I am able to stash the event in a class variable, and then access it later, but the cherry on the icing would be to get it from the event fired withing tweenHandler() in my example above.
Edit: Well,it doesn't look possible.I am currently storing the retrieved event in a property _event and then getting it at a later time when I need it.This seems to work, but isn't wonderful.
I believe this is trivia question but here it is.I have created class which loads some image and takes fragments of each for certain animation.And in flash stage where I instance classes, I need to know when loading is complete. How do I proceed that info, I presume dispachevent do that, but how?
View 4 RepliesHow do i create a trace that can detect if an event dispatcher is dispatching an event?....my problem is i've created a custom event that is not being dispatched i use this custom event in other applications and have verified that the code is correct I'm not getting any errors neither it just dies silently
View 1 RepliesI'm new to Flex.My question is how to dispatch event between components?As far as I know,Flex only bubbles event to itself or its parent. I'm in such a situation:
[Code]...
I want comp1 to dispatch an Event with parameters,according to the parameters some changes could be made to A and B in comp2.How could I get the event in comp2?I know Cairngorm could make a difference,but I don't want to use it right now.Could anyone give me a hand?
I have small chess application which consists of cells and boards. When user moves an item to the board, I want the board cell to dispatch an event so Board can listen to it and call a listener[code]...
View 3 RepliesI could not get the event to dispatch. is there any thing missing in my code?
Application1.mxml:
<s:Button x="50" y="10" label="Button" click="dispatchEvent(new Event('buttonToggle'))"/>
component1.mxml
[Bindable(event="buttonToggle")][code]......
how to dispatch custom event in flex in my main mxml file i have put this code to dispatch this function
[Code]....
i want to ask what i am missing why my customevents not working
I have a form with a search field. When user press enter key, I use httpservice to send a query to mySQL database. In some case (a lot) there are several record, so a new window is opening to show those record with a datagrid to let user chose the good result.
My problem is how to send selected information to the first window (with text field). I gess that dispatch event is the way but I don't found how to use
Using robotlegs i always retrieve this error. [code]...
View 2 Repliesdispatch an event on every 'onProgressEvent' of an external display object loading.
Does dispatching an event frequently cause performance issues?
All I want to do is have a parent class listen for whenever a progressEvent has fired in my loader class, rather than setting up an onEnterFrame loop in the parent class to call 'get' methods within the loader - this seems inefficient to me seeing as onProgressEvents don't occur on every frame.
I have two classes a Player class and a Bullet class.
In my Player class I'm dispatching an event(to fire a bullet) when the SPACE bar is pressed.
Assuming I already have an Event Class named FireEvent.
How would I write my code to listen for that event dispatch in my Bullet class in order to create a function to fire the bullet?
Player class
ActionScript Code:
package{
import flash.ui.*
import flash.events.*
[Code]....