ActionScript 3.0 :: DispatchEvent To Parent Not Working?
Sep 9, 2009
As I'm working on a simple XML photo gallery, I am having a bit of trouble making my Slide class successfully dispatch an MOUSE_OVER and MOUSE_OUT event to the Main class.
Main.as
Code:
// add a new slide
var slide:Slide = new Slide(_slideHolder, "slide_" + no, _xml.img[no], x, no);
slide.addEventListener(Event.COMPLETE, imageLoaded);
[Code]....
When I hover over my sprites, the functions inside Slide.as gets triggered - but they don't pass the event to Main.as as I would have expected.
Strange thing is that the Event.COMPLETE gets triggered inside Main.as.
iam trying to move forward and learn as3 i am converting complex project i worked on last year using AS2 , now i have problem in dispatchEvent command i have class extends MovieClip that need to fire Event to sub sub childs i can send from the child to the parent using
I'm working in this website so to avoid getting an error for adding event listeners to the buttons when they are not on stage i dispatch and event in the last frame of the animation, event that is going to be listened by the document class. Until there everything works great but when I try to dispatch an event from the document class to the sound class, it doesn't work.
I am adding the same image (play button) to a movie clip those images later when pressed toggle states and play a video.What I am trying to accomplish is automatically toggle the default image since that video is playing automatically.[code]So this does the same thing as click the first image but it happens automatically.[code]
I have a problem where I dispatch an event in a model class which is dispatched correctly. When trying to listen to this in the client, nothing is listened to. Client.as instantiates all MVC elements such as:[code]A user click invokes an 'update' method within 'BiosPanelModel.as' like so:[code]
In actions in my .fla file I create a new object of a class (addChild) which is in an separate .as file. Now, in my .as file I want to call a function in the .fla file. This should be the parent right? So, I try parent.correct(); which does not work. I get the error #1061 (call to a possibly undefined method). However, when I do this: var par:* = parent; par.correct(); Everything works. Why is this?
I am trying to remove a movieclip from my main timeline but it is not working. you click a button that is in a movieclip that is dynamically added to the stage and it is supposed to remove a movieclip from the main stage. I added a trace to see if it was grabbing the right movieclip and it is. The error message that I am getting is:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
I have a main MovieClip that creates a new instance of an imported class which is a page in the application. This class tries to call a function on the main MovieClip and it's not finding it. I've done this in the past without any problems with separate swf files and loaders, and with movieclips in a library. I'm at a loss on how to resolve this. Here's what I'm doing (simplified for posting):
I'm struggling with the transition to AS3, specifically not being able to use parent like I used to. Aside from it making me a better coder, are there any good reasons to use strict mode? If I dont use it, are there any 'side effects' to my swf I should be aware of? Any input on parent and strict mode.
I usually, use SWF Protection, to protect my swf's from decompiling. It also adds a load bar to the swf.
The problem is that I have codes like this:
logo= new marca(); parent.addChild(logo); logo.mouseEnabled=false;
I use parent, because I need to put the movie clip above everything, because my application allows the user to add a lot of things to the stage, so a don't want anything covering the logo.
The application works well while unprotected, but If I protect it using SWF Protection, then, I get just white screen. Nothing appears after loading.
Is there another way, to put a movieclip above everything, without being necessery to add a ON ENTER FRAME LISTENER, to update the movieclip deph, to keep it above everything?
What I describe here is not correct. My full code had some other things in it that was the reason I couln't see mc2. The code described under is actually working!
I have custom class (MyContainer) that extends Sprite. Then:
Code: var mycon:MyContainer = new MyContainer(); var mc1:Sprite = new Ball(); // Ball is a sprite in my library var mc2:Sprite = new Ball();
[Code]....
it works, but I dont want that, as MyContainer has custom variables and functions I use. A simple: if (mycon is DisplayObjectContainer) evaluates to true.
[code]All clips are squared.Ok, on the PlayerPlane, there are little soldiers, which have hotkeys. The effect I'm trying to create is I want to position the GameStage so that the currently selected soldier appears in the center of the GameClicker clip.The GameStage is movable by the player (to scan other areas of the map)by holding the CTRL key, so it's easy to kinda lose track of where your players are.I have tried using localTo Global and globalToLocal techniques, but I think I'm lost on the actual math of getting the GameStage to move the correct distance so that the selected soldier is centered to the GameClicker.[code]
i'm a flash newb, wrestling with actionscript 3 and ran into a problem with a drop down menu.the menu is composed of nested movie clips that open and close, and contain buttons that control a ui loader in scene 1. it seemed to be working all right until i realized that after opening and closing and reopening a submenu, the buttons that worked the first time stopped controlling the ui loader. since there aren't any error messages i'm kind of at a loss as to what needs fixing.
I got a "preloader" that creates an movieclip and loads an SWF. Now in the loaded SWF i want a close button to go back to the "preloader". The preloader isn't an actuall preloader but some sort of mainclip.Now i tried this:removeChild(MovieClip(e.currentTarget).parent.pare nt.parent)But i get error:ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.at flash.display::DisplayObjectContainer/removeChild()at MethodInfo-6()
I'm currently making a platform game and when the player shoots i want to add the bullets to the stage. The players gun class is in charge of adding bullets. The "players gun" is a child of "players gun holder" which is a child of "player" which is a child of the stage. is there a better or more dynamic way for the "players gun" to add bullets to the stage rather than using parent.parent.parent.addChild (bullet);
I have a movieclip on my stage that I am using as a button toincrement an index number. I have declared a custom event class andI am passing the index to the custom event as a property.I have initialized the clips on the stage to listen for thecustom event and I am dispatching the event from the instance ofthe button being pressedEverything seems to be ok except my clips listening for theevent don't seem to be getting it. Can you not dispatch an eventdirectly from a movieclip instance on the stage? Do you have to doit from a .AS file class?
One single swf, imgdesc.swf is being loaded into the emptymcholder, by the moviecliploader instance.My order isfolioholdermc ---holds--> emptymcholder --holds--> imgdesc.swfWithin folioholdermc, I disabled buttons and lowered opacity, once imgdesc.swf was loaded, using onloadInit()Now in the button inside imgdesc.swf. I called, this.unloadMovie(), which successfully unloads the file, but I am still inside emptymcholder, though I actually want to go back into folioholdermc.tener to check for unloadMovie. But my problem is can I place this within folioholdermc, within the onloadInit() or maybe within the on(press) function which actually calls the loader in the first place?? I need to enable the buttons within folioholdermc, and increase opacity, once the imgdesc.swf is unloaded.
Within the onLoadInit() in folioholdermc I added _mc.addEventListener("end",endClip); function endClip() { trace("end"); //plan to insert code to
I am making a class that is used to load levels, and while making the skeleton I thought I'd make some events for things like if there is an error while loading, or for when the loading finishes. So I did that and decided to test the event, via a test function that dispatches the event...but it just wont get picked up.
Here is the main class (a part of it anyway) where I'm adding the event listener.
ActionScript Code: public function Game() { this.addEventListener(Event.ADDED_TO_STAGE, Start); this.addEventListener(LoadEvent.LOAD_COMPLETE, Bam);
[Code]....
why the dispatchEvent in the Load class and it's internal dispatcher class, is not getting to the eventListener in the Game class.
I am trying dispatchEvent in a class (aClass extends MovieClip) that is instantiated by another class (mainClass extends movieclip),but I am not able to dispatch the custom event in the mainClass unless the aClass is added to the display list (using stage.addChild()).Is there another way to do such a thing?
if I have a class I load, import com.pixelator;//import explosion class In my movie I want to run a function when it finishes and dispatches the event below. How do I do that? here is the code from the class
PHP Code:
function completeHandler() { dispatchEvent(new Event("PIXELS_DONE")); }
What is the effective way to dispatch an event to a child movieClip? Bubbles go the wrong way! The parent is dispatching, but the child never hears the event (hmm, seems like real life). [code]...
I've written an imageLoader class. I want to dispatch an event after the completion of image loading to the document class from which imageLoader has been initialized.
[Code]...
onLoaderComplete is the image loading complete event and onLoaderProgress is the image loading progress event. Here i have dispatched an event in inLoaderComplete event. I want to send parameters along with the dispatchEvent. How it can be done?
I'm trying to manually dispatch events on a textfield so I can manipulate it indirectly via code (e.g. place cursor at a given set of x/y coordinates). However, my events seem to have no effect.
I've written a test to experiment with this phenomenon:
As we can see, the events are being captured and replayed successfully. However, no change occurs in tf2 - the mouse cursor does not appear in tf2 as we would expect. In fact, the cursor remains in tf even after the tf2 events are dispatched.