ActionScript 3.0 :: Event In Class / How To Identify In Another Class
Jul 14, 2009
I have a class (called Units) that defines sprites which react to mouse events (being dragged around).My main .as class (called Loader) imports the Units class, sets up several shapes from Units as objects into an array (my_array[i] = new Units(j,k,l);) and then calls addChild in a loop to add them to the display list (addChild(my_array[i].shape);).All fine and dandy, but if I want a shape to go to the top of the display list when dragged about, how do I do it? The problem is that the mouseEvent is in the Units.as class, but the addChild is in the Loader.as class.The only thing I can think of is to strip the mouseEvent out of Units.as and add it to Loader.as - but that would mean adding an event to every shape in a loop, which seems inefficient.
We'll call it "song" for the sake of example...song has the attributes artist, title, album. upon makign all the objects, i put them in an array.[code]...
whether i want to find one object that has a unique attribute (like "london bridge", maybe) or multiple objects that might have the same attribute (like an artist or album), is there a more efficient way?
I've done a class to be able to listen to the event for a CLASS not on an instance.
Code: class net.webbymx.events.XClassEventListener {[code]....
why did I do this.It cames with my rugby game.I have player in two teams. When a player throw the ball I want the other teammate to act like "wait for ball" and the opponent like "seek for ball". Plus I'm lazy (and I don't want to register the listener for each instance of the player I'm creating). So this class is made to be able to handle as many instance of a class I want without adding a listener on each of them. I'm just creating a global listener on the class and then I will be able to receive dispatched event for any instance of this class .so in my team I can do
Is it possible to dispatch event from class that isnt extended class of MovieClip? I created my own class and put import flash.events.Event; import flash.events.*; but when i call dispatchEvent compiler throws error:"1180: Call to a possibly undefined method dispatchEvent."
I have a document class called Main.as In the class constructor I have the following listener:
enter code here var listeningFORModeChangeToStudent:Sprite = new Sprite; listeningFORModeChangeToStudent.addEventListener(TellAllModeChangeToStudent.STUDENT,exp); addChild(listeningFORModeChangeToStudent);
[code]....
In a third class I make a call to the despatcher in the previous class:
enter code here var ThisTellAllModeChangeToStudent:TellAllModeChangeToStudent = new TellAllModeChangeToStudent; ThisTellAllModeChangeToStudent.tellAllModeChangeToStudent();
I have trace statements in eveything and from this I know the despatcher in TellAllModeChangeToStudent is being called.The problem is that the listener in the main.as is not calling the function exp.I cant see why and I dont know how to check if the listener is actually seeing the dispatch event?
I want to dispatch a custom event from the Country() sto the MenuButton();[code]When a country is hovered a custom event is dispatched which I want the MenuButton to listen and if the parameter passed is the same as its name to get highlighted. The Country Class is the Base Class for my countries movieclips I have on stage and the MenuButton the Base Class for the menu button.
In a nutshell I have a custom event that I am dispatching from one class that is not getting picked up by the other class even though i have added the appropriate addEventListener calls on its constructor.Here's how the classes are laid out:
The NetworkManager class extends the MovieClip class as does the LoginScreen and Application classes as well.Now within the oLoginScreen class I dispatch the ValidateCredentialsEvent by calling it this way:
ActionScript Code: dispatchEvent (new ValidateCredentialsEvent(ValidateCredentialsEvent.VALIDATE_CREDENTIALS, oLoginData, true, false));
Then when I debug the code, I can step through and see that the ValidateCredentialsEvent is being generated but it is never picked up by the oNetworkManager class whatsoever.Is this occuring because the NetworkManager and LoginScreen classes are children of the Application class and because of this can't capture events raised by one another without using the Application class as the intermediary to redispatch these events? My whole idea here was to create a generic network managing object that could be called from anywhere within the application, by any object, using custom events.
I have created a class (extends the Event class) for use in one of my projects. If I trace the custom event object in the called function I get 'Event' as the type, but if I trace a TimerEvent, or MouseEvent, etc, I get TimerEvent or MouseEvent... Let me demonstrate:
var c:CustomObject = new CustomObject(); c.addEventListener(CustomEvent.ON_SEND_MESSAGE,fnc); function fnc(e:CustomEvent) {
I'm having some problems importing a class, the message that Flash gives me is this; The class being compiled, 'ImageLoader', does not match the class that was imported, '[URL]'. The only line of code in my flash movie is this: import com.martijndevisser.*; And yes, the class is in that folder The class is from here: [URL] I've used the class before and it works fine, I just dont know what to do?
In all the ActionScript examples I come across, people write custom events with the types defined inside the custom event's class definition. But, in my experience, it makes more sense for the object dispatching an event to own its own definition of that event (which, in ActionScript 3, is a String).
[EDIT: After writing this question, I've found there to be cases for both positions -- in some situations, event types should be stored on the event object, and, in others, they should be stored on the object dispatching the event.]
I would like to extends the Event class to add some events I am using in game. But I don't want the new Event Class to have the old public static types. For instance I don't want to have:
NewEventClass.ENTER_FRAME
How do you go about extending the Event class without getting the old types mixed in?
Is there any way to outsmart AS3 to leave out the uneeded types?
Or should I avoid creating a new Event type altogether and just add the new strings?
I'm newish to OOP AS... trying to build a image loader that wipes between loads. having trouble getting my onloadComplete event to call a method in the main body of the class. what am I missing?
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?
I'm new to Flash AS3. I started making a game and I am a bit confused. Let's assume that I want to create a game that has multiple levels/modes, how can I do this in an object orientated way?
When i create games in other languages e.g. XNA C#, i create a separate class then create an object of that class within the main class and run the game based on a simple statement.
I have a class called "download" and an URLStream object inside it called "urlStream".
From outside the class, I am adding a progress listener like this[code]...
Everything works fine inside the onFileProgress function and bytesLoaded, bytesTotal are read correctly.
What I need is a way to point to the download class from inside the onFileProgress function so that I can retrieve some other public variables defined in the "download" class.[code]...
I have two document classes. The main document class creates a empty movieClip and adds it to the stage in which the second document classes published swf is loaded into. The second document class has a button component on the stage in which once clicked just traces 'hello' to the output window.
What I want to do is upon clicking this button a Event is dispatched from the second document class, to the main document class. Now, I've Googled everything in this known world and have tried to implement examples to no avail. I'm really at a loss right now yet I stubbornly intend to keep banging my head against the problem. Below I have pasted both document classes minus the examples I've tried to implement thus far.
It works flawlessly the other way round. I can dispatch an event in a class (extends sprite) and my main .fla does catch it. The other way round it doesn't. To transmit a number from my fla. to the class (added as child) I dispatch an event, but the class never receives it. What's wrong. Initially I wanted to dipatch the event in another class, but as far as I understood, the event would never be transmitted from the other class as events only communicate to their parents.
Hope my sketch helps a bit. Actually the image (uiloader) should transmit the loading progress directly, so the loading status bar could change its width. But as I couldn't get this to work, I started to dispatch another event from the main document which placed image and loading bar dynamically on the stage. How do I need to add the listener to the LoadingStatus.as, so that it can change the width by itself?[code]...
I want to create an event in my class. I want to create an event when a number variable =4.private var loadNum :int;In this class with the event I have extended this as a Sprite. I want to test when this variable = 4 and execute a function when this is the case.How do I code this?
I am trying to wait for and Event.COMPLETE in another class but my code just jumps through the event listener and executes the following code without waiting for the event to complete so my variable is not being set.[code]
I 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;
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]...
Keeping into consideration the Actionscript 3 event HTTPStatusEvent:HTTP_RESPONSE_STATUS, which is ONLY AVAILABLE for AIR (and not Flash 9/10)
Quote from site:
Language Version: ActionScript 3.0 Runtime Versions: AIR 1.0, Flash Lite 4
I would like to add the same EVENT by extending the HTTPStatusEvent Class of Actionscript 3 for Flash (9/10).
I'm working on Adobe Flash CS3 and I'm trying to get the "last" location of a URL loader (I'm calling a php with a header("Location: ..."); ) so I need the location after it changes. This should be made directly by flash and I cannot use php proxies not other.
Also, I cannot find the source code of the AIR HTTPStatusEvent Class, which I need to get the event (specifically, the responseHeaders and responseURL properties that the AIR class has).