ActionScript 2.0 :: EventDispatcher Tutorial By Jesse Marangon
Feb 10, 2009
I'm reading Jesse Marangon's EventDispatcher tutorial. Most of it makes sense. However, when I copy the code into Flash I get a return of objEvent. count = undefined.It looks like the external class Interval is being properly found/used as the rest of the function works.
I sent an email to pom regarding a tutorial that he wrote, but the email was bounced and he hasn't replied to my PM. I have followed both of pom's tutorials that involve experiments with perspective in Flash, but I have encountered a problem while attempting to duplicate a movie clip symbol in the second tutorial ([URL]). I have a single instance of the "ball" movie clip symbol appearing at random positions. However, I cannot seem to successfully duplicate the symbol instance at random positions using the loop that pom provided:
I have built a catalog in flash that was orginally built in InDesign and exported but it has some small content that is hard to read for the elderly users viewing it and I would like to add a zoom feature or some type of magnifying glass.
original: I really just need to figure out how to center the pictures. here is what I did I have modified the tutorial that I finished to have a bigger stage for bigger pictures. Everything is working properly but the pictures are displayed on the left side, I want to have them centered in the stage for the images, after clicking on the thumbnails, plus my images are different sizes as well. ranging from 200x410 to 744x410 but all are the same height of 410. i will post up what I am talking about at the end. I believe it is something within either the action script or the xml coding that allows the position of the image to be differently? please help here is what i am talking about[URL] Continued: Here is my coding in action script:
My problem is that I have no idea as to how to code it. I know I will use two classes and my two .fla files (unless I am wrong).I have two .fla files that are in play here: the Menu.fla file and the Arena.fla file. Menu.fla contains the entire navigation of the game, options, character selection screens, etc. and when it is time for the player to engage in battle, it loads the Arena.fla file, which contains only the backgrounds (depending on the selected stage) and for now is set to a length of one frame only. For Arena.fla, the real action happens in my classes, but logically, I would only need HP.as and Character.as.
In Character.as, I have declared the following variable:
var isDead:Boolean = false; //is character dead?
In HP.as, believe I should have the following:
if(currentHp<0) { currentHp = 0; character.isDead = true; //declared as var `character:Object;` EventDispatcher.dispatchEventListener("playerDead", playerDead); }
And finally, in Arena.fla, I want to be able to detect the above-mentioned eventlistener and simply move on to a second frame which will display a message in the style of "PLAYER ONE HAS WON" or "PLAYER ONE HAS LOST" with a button that will allow me to go back to the character selection screen. This is the first part in which I am stuck: how do I detect the dispatched event listener in my main .fla file?
Secondly, if the player clicks on the "CONTINUE" button, which displays regardless if the player has won or lost, how can my Menu.fla (which loads the Arena.swf) detect this click event, unload the game, and go back to the character selection screen?
I have several classes with some eventListeners in my project that interfer with each other. I.e. i have a mouseclick event that is not triggered, when i have another class with init events running at the same time. when i remove that other class, the mouseclick event is triggered correctly.
now i am not 100% sure, but i think the solution to this has something to do with EventDispatcher.can anybody please tell me if that is correct and how i can add EventDispatcher to my code without recoding everything?
For some while I am researching on dispatching Events on AS2 which can bubble as it happens in AS3. This is not the first time in this world and I hope you all know how to do it in AS2. My issue is not on addEventListener but the removeEventListener which is not removing that particular event from that object.Cause the handler argument in the mx.events.EventDispatcher is throwing undefined where that should be [type Function]. At the time of registering on addEventListener it is registering the handler as [type Function], but it throw undefined on removeEventListener method.
I am trying to dispatch an event from one class to be received by another another class.The second class has a function that shoud trigger when the event is caught.When I compile I get this error:1067: Implicit coercion of a value of type flash.events:MouseEvent to an unrelated type String.
Here is the class that dispatches the event: package{ import flash.display.MovieClip; import flash.events.MouseEvent; import flash.events.Event; import
I'm working on a an interactive map of the Lewis and Clark Expeditons' experiences along the Missouri River in Montana and I'm running into some difficulty using the EventDispatcher class.
I have a couple of classes that I am working through this issue with. Relevant code is bolded.The first is a Main class that I am using as my Document Class:
I was wondering when you guys extends EventDispatcher in your class. It seems to me that as long as we have import event package, we can dispatchEvent without problems....I saw sometime people extends EventDispatcher in their clas
I have a question regarding the capabilities of the EventDispatcher. Is it possible for flash to dispatch an even and be able to push out information like an int or string?
How to dispatch events from a class (.as) to a document (.fla) ? In my example there's no compiling error but nothing displayed by trace(). What's wrong and how to do to make it works? example.fla
These days I'm learning the different usages of EventDispatcher class and understanding it's working.
[code]...
Considering the above code if for example I want to broadcast the event of onLoad of xml to different listeners objects with the scope of movieClip in which the xml object is declared, so that later mcs from the library can be attached dynamically.However this approach does not seem to work.
Theory question, more than anything. Code: var page = _root["pageinstance"+num]; //num is a variable, page_li:Object = new Object(); // page_listener object page_li.onPageLoad = function() { trace("hey, look, the page loaded"); page.display(); [Code] .....
The code is much more complex than this, but thats the skeleton of it. Anyone, my question to you is that I need to use this over and over again, for each time the user presses a button. My problem is that Flash seems to have trouble when I try visiting a page I've already been to, because the events don't properly execute. I've tried page.removeEventListener(); and delete page_li; but both seem to be ineffective. Basically, how can I whip the slate completely clean, so that the next time when Flash goes over this code, it executes properly?
How to write as2.0 using class to respond a simple event handler for several mc's?[code]does anyone have some good examples of using eventDispatcher method in a class?
I would like to know if there is a way to watch / listen to variables or object properties using the eventDispatcher class ? I checked tutorials about this class and I understand basics but I really don't see how to do this..
I know the existence of the watch() function, but I heard its possible to use eventDispatcher instead...
i have a class called "RandomErrorClass" that extends Error:
Code: public class RandomErrorClass extends Error { public function RandomErrorClass() { super("random error...");[code]....
my understanding is that the second class, the one that throws the error, will have to extend the EventDispatcher class. is that right? but it already has to extend the MovieClip class. my questions: Does the movieClip class already inherit from the EventDispatcher class? if so, i won't have to implement the IEventDispatcher interface, will I?
I'll try to explain my problem as simple as possible So, I have class A (main class) and class B, and I need these to communicate with each other.
[Code]...
This gives me the error: Access of undefined property RNDMCOLOR... but, I made it public, so it should be accessible by other classes right? Apparently, no I have also tried to type the string "rndmColor" directly into the eventDispatcher and listener, and that gets rid of the error, but the chooseColor function is never called. So what the heck am I doing wrong? How do I make variables accessible from other classes if public doesn't do it?
On a recent discussion I had a problem accessing a function on my main timeline from an external SWF. Muzak gave me the answer using eventDispatcher from que external SWF. Ok everything works fine. But when I test my website on my localhost embedding my SWF using swfobject it stops working.
In Flex, is it possible to listen to all event types of an object that's an IEventDispatcher? addEventListener's first parameter is the type, which is a string. In many cases the documentation is not clear what event type it fires. I'd like to attach a generic listener to inspect the events.
Is there any way to list all listeners to an EventDispatcher instance, or at least list all event strings that are being listened for?
I know there is a "hasEventListener()" function, but you need to know the string you pass in in order to check for it. I suppose it would be bad coding ethic, but it can have its uses. (Am I making myself clear enough on what I am looking for?)
Also, how are eventListeners speedwise? Since there is a lot that needs to be accomplished when dispatching and listening for events, would it be a bad idea to use an Event system for such potentially CPU heavy items as collision detecting?
I have a sprite A which has a child, sprite B.Sprite B has a variable, instance of class C which only extends EventDispatcherIn class C, I dispatch a custom Event. The eventlistener in sprite B reacts on the event.The same eventlistener in class A doesn't respond.If I dispatch the same custom event in the eventhandler in class / sprite B, this event is seen in class / sprite A.Is there a difference in events going through the displaylist and those who are from an EventDispatcher?
What I want to do is to dispatch the click event when the component is clicked. (The class is essentially some text in a textfield that needs to be able to do certain things, and it needs to be able to respond to a click). Sounds easy enough... I want the event dispatched when that portion of the text is clicked. But uh...how? it's not like a button where I can just go myButton.addEventListener(MouseEvent.CLICK, myClickHandler);That's clear, because some component is going to be listening for the Click event dispatched when myButton is clicked. It is built into the AS3 framework that a button knows how to listen for a click event.
After the import statements I've got:[Event(name="click" type="mx.events.Event")]How do I dispatch the event when the component is clicked, when the component doesn't yet know how to respond to a click event? I've tried adding an event listener in the textfield which contains this custom class of text, but nothing's happening because the Click event hasn't been dispatched.
I want to override the dispatchEvent method while inheriting from flash.display.Sprite. Whenever an event gets dispatched now like ADDED_TO_STAGE and CLICK it will get through dispatchEvent in my theory. However there is no single trace he'll get through dispatchEvent.. so the events get dispatched internally from some where else?
I dispatch a custom event from an event dispatcher (following solution Inherited a class from EventDispatcher in Flash but custom event not received) and I add a listener in both dispatcher itself and in main. trace shows that only dispatcher receives this event not main. How to make main also receive the event?[code]
I am currently reading the Actionscript 3 Bible and the author shows an example in which a custom eventDispatcher class is created. When the class is later used in the code it's called as such:
//Thermometer is a custom eventDispatcher that extends the eventDispatcher class. var thermometer:Thermometer = Thermometer(event.target); //why no new keyword?
I'm a new programmer and I was curious if someone could explain how this works? Why is the new keyword omitted? When you omit the new keyword on a class that extends another class is it essentially just calling the superclass(eventDispatcher) constructor?