ActionScript 3.0 :: Event Flow Between Non-DisplayObject Classes
Feb 7, 2009
What is the proper OOP method of communicating between classes that are not on the display list?
For example: The Document class instantiates a new class just for loading in different XML files. This XmlLoading class should let the document class know when the xml has been loaded and parsed so that the interface can be built out.
From my understanding, events can only be listened to and dispatched through the display list, but since there is nothing visual with this xml loader, it doesn't make sense to me to make this class extend a sprite and add it as a child of the document class.
View 5 Replies
Similar Posts:
Oct 31, 2009
I'm laying out my code differently for my latest project. I am making a game, and I am keeping the Flash API stuff in a seperate class from the game logic.It's an aproach I've never tried before, and it's made me realize just how little I understand good OOP design.
what I'm trying to acomplish is this:
the Game class contains the step by step program flow of the game. it makes calls to a GameUtils class and DrawEngine class, these other classes have the Flash API stuff in themSo what is the best way to get the game class to control the other 2?
currently I have my program flow like this:
1. display splash image
2. add 'play' button
3. recieve click from button -->
[code]....
a more specific issue comes up at step 3: ..how do I have the game class progress without using a listener?I'm thinking of creating a method of the Game class that simply increments a step counter of a switch/case statement and keeping each step of my program flow in each case.
View 4 Replies
Apr 18, 2010
I have:
Class my_class
{ public function my_class( an_mc )
{
[code]....
View 4 Replies
Jul 6, 2011
I'm stepping through my code to figure out why a certain function takes more time to run the first time it gets called than on successive calls. The code flow for each function call is the same up to when a dispatchEvent gets called. I'm pretty sure it's different afterwards, as that call takes a lot more time the first time around. Unfortunately, I have no idea which other parts of the code chew on this specific event and thus cannot step through the handling of such event.
The question: is there a way to either figure out who handles such events or magically step through the handling code without explicitly setting breakpoints there?
View 1 Replies
Mar 21, 2009
There's a lot of talk of how the new Event Flow makes for easier communication between classes.This sounds swell,but nowhere is it properly explained. Every example I find concerns dispatching events within the same class or looped through a customEvent, but I need a way to tap into this Event Flow for backward communication.I have a mainGUI document class that distributes my application subclasses.How do I set up a listener within mainGUI that gathers certain events from any of its children or grand-children? And how can I use this line to post object properties?
View 1 Replies
Aug 11, 2011
My goal is to shoot a bullet everytime I click on ship. What happens, in fact, is that If I click on it once, the bullet is shot, but if I click on it twice before the first bullet is off the screen, the first bullet literally stops(it does not disappear, only stops) and the second bullet is shot.
public var ship:Ship = new Ship();
public var bullet:Bullet = new Bullet();
stage.addChild(ship);[code]...
View 2 Replies
Jan 4, 2011
I m building a little application, im design the graphic in Flash and im using Flash Builder for the Programming Side. I have 5 MovieClip inside a Sprite (the container), and i want to listen for MOUSE.CLICK. I add the event listener to the Sprite, instead of one for MovieClip, and its working good like this.
What if inside the Sprite (the container) i have also a TextField and exclude it from the event flow?
View 8 Replies
Jun 24, 2009
Is there a way to make event flow occur synchronously?
Basically this is my scenario. I have a single method call that gets triggered by a server request. I want to be able to notifiy subscribers that the method has/is executing so that they may return a result. By modifying an attribute of the actual event object, the method can return that result to the server dynamically. Eg:
Code:
//method invoked by server
public function whatever(...parameters):* {
var event:MyEvent = new MyEvent(MyEvent.TYPE);
[Code]....
This code works around 70% of the time, but sometimes I see things are really happening asynchronously in Flash Player's event flow. Is there anything I can do to regulate this and make sure it happens synchronously?
View 4 Replies
Dec 6, 2011
I'm trying to use Greensock LoaderMax on a Starling Framework project, but since Starling have a lots of its own class, how I can make it work with other classes that is using the native class?
Exp:
package
{
import flash.display.Sprite;
import flash.events.Event;
[code]....
will return the error:
Error: Implicit coercion of a value of type com.greensock.loading.display:ContentDisplay to an unrelated type starling.display:DisplayObject.
View 2 Replies
Dec 23, 2008
I have a class linked to a library MovieClip. Several public instance variables in the class point to other DisplayObject's which are children of the class.Is Event.ACTIVATE the correct event to indicate that all ofthe children have been instantiated?
View 1 Replies
Apr 12, 2011
I embeded a png format picture and set class like Axe:Class;,and set a variable like picisplayObject,and point pic to an object,var
pic=new Axe();
added it to the display list:addChild(pic);
then i added the eventListener, pic.addEventListener(MouseEvent.Click,_doSomeThing );
private function _doSomeThing(e:MouseEvent):void{
//process
}
but nothing happens,the complier doesn't report an error or warning something.then i created a wrapper Sprite object and add the pic to the wrapper object,made the wrapper object as the event dispatcher,then every thing works.As far as i know,DisplayObject is added to the stage,but why it doesn't work?
View 4 Replies
Jun 30, 2011
Does removeChild clear the associated event listener related to those childs?
View 1 Replies
Nov 4, 2009
I'm writing a class that really doesn't need to be anything related to a displayObject. It's really more for organizational purposes, than anything else. It's there to handle 1 thing, and 1 thing only. However, I want to have it dispatch an event when it's done so that nothing gets ahead of itself, and I don't end up running functions before the SWF has finished setting itself up.
Simply using the ActionScript Code:
dispatchEvent(new Event("masterFinished",true));
Method isn't working, as the class is. I keep getting the:
PHP Code:
1180: Call to a possibly undefined method dispatchEvent.
However, if I change the class to extend Sprite, and then add it to the Stage as a displayObject, then it works just fine. Is there a way to get the class to dispatch an event without turning it into a displayObject or writing a custom EventDispatcher (I'm assuming the latter would work, but I'm not positive...).
View 4 Replies
Dec 20, 2010
I'm trying to capture the redraw event for some MovieClip / Sprite objects that are in a Scroll area.Ideally, should be able to capture the event when Flash Player itself redraws the objects as can be seen with "Show Redraw Regions" in FP Debug.I've tried to use the Event.RENDER to capture this, but it even fires when the object is not visible / redrawn.
View 1 Replies
Aug 23, 2009
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.
View 2 Replies
Oct 26, 2010
I would like to be able to quickly check if a given DisplayObject is a descendant (not in the inheritance sense - ie. child, grandchild, great-grandchild, great-great-grandchild, etc.) of another DisplayObject. There doesn't seem to be a native way to do this and I can only think of two ways to achieve it: Create the mother of all nested loops. Seems a bit, I dunno, wrong? Dispatch a bubbling event at the 'child' and check if the potential 'parent' receives it.
[Code]...
View 2 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
Feb 1, 2011
I seem to have run in to an issue where a custom event is not being heard between objects. Here is my set up: I have two classes, GameBoard and InstructionsBoard, each is linked in the library, in the properties panel as a class to movieclips on the stage.
I dispatch an event from my GameBaord class: dispatchEvent(new CustomEvent(CustomEvent.ANIMATION_DONE));
and Listen for it in my InstructionsBoard Class:
[Code]...
View 4 Replies
Jul 10, 2009
I am an AS3 coder, but I've been given project that needs to be done in AS2, and am having trouble understanding the events model. Inside my controller movie clip, I have a draggable movie clip that dispatches an event when it reaches a point. I cannot for the life of me figure out how to get my controller to properly listen to the event.
The dragger dispatches the event as follows:
Code:
var eventObject:Object = {target:this, type:'Snapped'};
dispatchEvent(eventObject);
Controller script--the complete handler never executes
[Code]....
View 1 Replies
May 30, 2010
I'm just starting to build my first proper OOP piece.I have on stage two manually placed MCs.One is viewer_mc:ViewerClass and one is menu_mc:MenuClass.They each have their own class and there is a document class...
PHP Code:
package
{
import flash.display.*;[code]....
So I can call the public method of either class from the other class.However, I am now trying to understand custom events and dispatching them with parameters.which uses a custom event class.This works fine when the dispatchevent and listener are both in the viewer class, but when the dispatchevent is in the viewer class, and the listener is in the menu class I can't get it to work.I suppose for my purposes I don't really need to use the custom event class, I can just call the respective classes' public functions but I just wanted to try and understand how it works.Here's the pared down version of menu class...
PHP Code:
package classes {
import flash.display.*;
//some other imports[code].........
View 4 Replies
Apr 18, 2011
Two buttons, left and right, move the (full screen) backgrounds. If you click the right arrow, the current background moves left, the new background is added to the right, is also moved left, and the old background is faded out. Think of it as a long stream of backgrounds, being moved back and forth with the previously viewed one being faded out with a tween.
The problem is that the arrows appear too soon, and clicking one breaks the whole thing. Main.as adds the arrows & adds the event listeners which then call the functions. The Main.as functions to move the backgrounds use background.moveLeft(); in the backgrounds class, which is where the fade out tweens happen.
So - how do I turn OFF the buttons (added in Main.as) when the tween (in background.as) has finished? I've tried using something like "getNextRoom.addEventListener(TweenEvent.MOTION_FIN ISH, turnOff);" with turnOff referencing the arrows, but it complains that they don't exist (and in the backgrounds class they don't).
View 11 Replies
Jul 17, 2011
I'm using a electronic device to dispatch events within AS3.
short explanation: -->
Think of these events as a KeyboardEvent.My point is to dispatch an Event (like a Key that is being pressed) so I can listen to this event on EVERY Class I need to.I'm not sure how to instantiate or listen to these events correctly =/
I mean: I want to be able to listen to the key that is been pressed as if that was a global event every Class can receive...
long explanation: --> I'm doing something like this:
1) created a (main) Class that extends a Sprite.
2) created a class (KeyboardInput) that extends the main class.
3) created a class (KeyMap) that extends EventDispatcher.
4) created a class (HomeScreen) that extends a Sprite.
My FLA file is associated to the KeyboardInput Class.This Class creates a listener for the KEY_DOWN KeyboardEvent and instantiate the KeyMap Class that dispatches a CustomEvent:
stage.addEventListener(KeyboardEvent.KEY_DOWN,function(evt:KeyboardEve nt):void { keymap = new KeyMap(); keymap.setKey(String.fromCharCode(e.charCode)) });[code].....
View 3 Replies
Oct 17, 2010
I am learning how to do a custom event in AS3. I can do an event in a class but I dont know how to detect events in other classes. I want to detect in main.as an event reached in class player. E.g., a variable reached a value 4 in class payer and dispatches an event so main.as can detect it. This doesn't give an error but my code doesnt output I can deect an event in main from classplayer.
//main
myplayer=new ClassPlayer();
myplayer.addEventListener("image_loaded",imageLoad edHandler,false,0,true);
myplayer.addEventListener ("watcher_loaded",watcher_loadedHandler,false,0,tr ue);
addChild( myplayer);
[Code] .....
View 3 Replies
Mar 29, 2005
how can I create event handler for a class that I wrote myself?
Example:
Code:
class blah {
var ladida:string;
function blah () {
[Code]....
How is it possible to create an event handler, like lame.onChange? When the variable inside the class is changed, how would i be notified?
View 5 Replies
Nov 5, 2009
I finally got the variable referencing between classes and custom event problems sorted out. Now I got a question regarding the Error #2044 and Error #2035. The error reads like this:
Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
I've put all the swf in the same directory, so I don't think that is the problem. Could it be that my XML file is in another directory that's causing the problem? I also heard having quotes in the URL in the XML file could also be problematic. Is that true? Here are my AS and my XML file.
[code]......
View 12 Replies
May 25, 2010
I have 2 custom components, which have their own nesting hierarchy ... One is container for another. I have to "familiarize them" with each other. The way I'm trying to achieve that is using global events (one side is firing and the other one is catching):
Application.application.addEventListener("Hello", function (data:Event):void{
// .. some actions
});
[Code]...
Then should be created the connection between container and it's child.
BUT, the only thing I could acheive is passing a reference to the Container in the DynamicEvent. Is there any chance that I could access the child at the event-handler function.
View 3 Replies
Aug 3, 2007
I'm still struggling with the complete concept of custom event handling within AS3. I know I am close to a complete understanding it's just not falling into place yet.[code]...
View 6 Replies
Oct 31, 2010
I'm not sure why my event targets are missing when I add an event listeners to my button classes. So when I try to check which button has been clicked I can't tell a difference between them. Does anyone know what could be causing this? Everything else looks like it's coming through okay.[code]...
View 1 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
Nov 13, 2008
You have some examples of how works custom events in as2? If I have 2 classes that extends movie clip, how can I make them to comunicate with custom event.?
View 1 Replies