ActionScript 3.0 :: Get InstanceName / Object From MouseEvent.target?
Jun 4, 2009
[Code].....
When Mouse is down on PlanetEarth_mc, only PlanetEarthOuter_mc starts moving, leaving PlanetEarthInner_mc and PlanetInner_txt in the same existing place. I want to call the parent of the target i.e. I want to move PlanetEarth_mc. also, EventReceived.target.parent.startDrag();//Gives Error. How can I achieve that from received MouseEvent Object I hope u understand this.
rwBtn.addEventListener(MouseEvent.MOUSE_OVER, audioOver); function audioOver(e:MouseEvent):void { var thisClip:MovieClip = e.relatedObject; thisClip.alpha = 0; }
I would like to change the alpha of the clip that is being rolled over. I don't know how to target the clip that is being rolled over. How do I do that?
I have an object (a Loader) that you can click on, resulting in a MouseEvent. Clicking on the Loader moves it, which I do by modifying e.currentTarget.x in the MouseEvent function, a la:
private function onClick(e:MouseEvent):void { e.currentTarget.x = 0 - (e.currentTarget.width/2); }
The problem is, I also want to change the ChildIndex of the target. I tried this:
But that results in a compile error: "Error Implicit coercion of a value with static type Object to a possibly unrelated type flash.display:DisplayObject. at line 85 in Rotation.as"
I've noticed that sometimes I need to refer to the target as e.currentTarget.loader, so I tried that (canvas.setChildIndex(e.currentTarget.loader, 10);), but I get an error when I run it: "ReferenceError: Error #1069: Property loader not found on flash.display.Loader and there is no default value. at Rotation/onClick()". What's the proper way for me to get the target so I can apply setChildIndex?
I have a parent movieclip with a few other movieclips inside it. When I add a mouseclick eventlistener to the stage and click on one of the children, i want the target of the event to be the parent movieclip. I still need the children to be mouseEnabled.
how do you check if a movieclip is a child of another?
I'm creating a simple drawing application that adds new Shape objects to a MovieClip "canvas" every time the user clicks and drags. The problem is, I'm noticing that even though the MouseEvent listeners are set to the MovieClip, the child Shape objects are being returned as targets as well. This disrupts the localX and localY as well, causing the drawing cursor to jump around as the coordinates change from being local to the entire MovieClip to local to the Shape the mouse is currently over.Is there any way to retrieve the most parental target from a MouseEvent?
I have a simple problem which is not easy at the moment. this is a text field class which add a text field to a movieclip (passed from root class) and also save(buffer) some data (like xml file name) in it`s public variables:
.. now I use a for loop to add instance of that class to a movie clip on stage:
for (var i:int = 0; i<Bunker[0]["trans0size"]; i++) { menuData[i] = new menuitem00(i, menu_mc, Bunker[0]["transfile0" + i]);// pass i , a movieclip named menu_mc and an xml file name menuData[i].name00 = Bunker[0]["transtitle0" + i]; // pass text menuData[i].activateFlag = true; // set actveFlag to true menuData[i].init(); // run init() inside the instance. it adds textfield to the menu_mc and also set name00 as Text for the textField }[code].........
I want to get "xml00" var from that instance on the stage by mouse click but, trace (evt.target.xml00); is not working .. also trace (evt.target.name00); is not working. I can get everything like .alpha or .text from txt00 but not other variables in my object.
how to listen on a SINGLE CLICK as well as DOUBLE CLICK for an object?
Meaning, one behaviour if the object is single clicked and another behaviour if it is double clicked.
Simply adding two event listeners (CLICK and DOUBLE_CLICK) leads to CLICK handler getting called always.
I understand one could start a timer upon the CLICK and if another CLICK doesn't arrive within 'x' milliseconds generate a SINGLE_CLICK event, else generate a DOUBLE_CLICK event. It seems like a hack and dependant on CPU load.
I've created 4 cubes, which turn on Rollover and Rollout, and on Click they should move to new x y coordinates.The Rollover and out on the faces (workfront,workback) work fine, but i don't get it right to put the Click on the whole cube.if tried to address it with workcube.addEventListener(MouseEvent.CLICK, workclick); but that doesn't work.if i address it with this or without workcube all my cubes react to the click
Here, my loader instance name is: myLoader. When I click on the dynamically loaded image, I need to place a small red rectangle at that particular pixel position on the image.For creating a small rectangle, I am using following code:
I have several stage event handlers to enable mouseovers over several dynamically generated moviecilps on the stage that then change their alpha to indicate the mouse is over that particular mc... fairly trivial (mcOver handler). Additionally, I also want to know what MC is clicked, so I update a public variable (public var activemc:Number) with the ID of the dynamic movieclip when the mouse is over it (using a hitTest to check, which is why the EventListener is added to stage and not to the MC), which is checked in the mcClicked handler:This is in the constructor:
However, the mouseover behaviour (alpha 0 when over, alpha 1 when out) stops working as soon as I click on any movieclip on the stage, and the mcClicked ID checking (below) stops working completely. I don't know if this is to do with focus:
private function mcClicked(event:MouseEvent):void { myTextField.text = String(activemc); // activemc is a public var:Number with the movieclip //ID }
I then tried adding the event handler for the stage mouse_move again and this gets the mouseover working again but only for 1 more click, after which it stops again:
private function mcClicked(event:MouseEvent):void { myTextField.text = String(activemc); // activemc is a public var:Number with the movieclip //ID stage.addEventListener(MouseEvent.MOUSE_MOVE, mcOver);
I have a MovieClip (call it base_mc) which is under a bunch of other MovieClips (call them subclips). The MovieClips on top are all mouseEnabled with MOUSE_OVER, CLICK, etc, event handlers. I want to capture the event of MOUSE_OVER (or ROLL_OVER) on the base_mc as well. Any time I am over one of the subclips I am also over the base_mc clip. How can I capture this event?
I'd like to know what is the difference between MouseEvent.CLICK & MouseEvent.MOUSE_DOWN. Because when i use MouseEvent.MOUSE_DOWN for a button to set full-screen view its doesn't work, instead of this MouseEvent.CLICK works. So what was the reason.
I'm making a button for the first time, and I wanted to use a full click to drive it. However, when I use addEventListener(MouseEvent.CLICK, onClickHandler); nothing happens when I click on it. When I use (with the rest of the code being identical) addEventListener(MouseEvent. MOUSE_ down, onClickHandler); it works like a charm.
I have a MOUSE_DOWN handler that creates a CLICK event listener on a child object. Naturally, as soon as you release the mouse button, if you happen to be over the child object, the CLICK event fires.I was disappointed to discover that event.stopImmediatePropagation doesn't interrupt the CLICK event from registering the MOUSE_DOWN as part of its detection cycle. It makes sense that it doesn't but still... disappointing.A MouseEvent.CLICK consists of detecting a MOUSE_DOWN on the object and then if it's followed by a MOUSE_UP without leaving the object, he event fires. I had hoped that by cancelling the MOUSE_DOWN event, it would clear that out of the CLICK buffer, but no such potatoes, alas.This could all be handled with a flag and a couple more MOUSE_UP and MOUSE_DOWN handlers, but dang, smacks of effort
This seems so simple and yet I can't figure out why my MovieClips won't hold their instance names.[code]And I do this for each button (I know I can do this with XML but nothing seems to work right now so I've broken it all down to see what's going wrong).[code]And the trace statement gives me "instance29" or some such. Can't seem to get the name to stick. I've tried creating getter and setter methods in my button class to access a label property and use that instead of the name but it comes out undefined when I trace. I'm having trouble finding anything on the forums though I'm sure it must be there. Could someone point me in the right direction. I don't need a full answer, just an explanation of why this is happening.
createTextField function has the following signature:createTextField(instanceName:String, ...)it's ok if the instance name is passed as a string literal.but it does not recognise it if it is passed as a name of the variable containing this string:
createTextField("name_of_the_textfield", ...) is OK name_of_the_textfield.type="input"; trace(name_of_the_textfield.type) returns "input"
Somehow the mainmovie get confused with the instancenames. Is there a way to get around with this so I don't have to rename each name?? It would b such a hassle to rename all instancenames if I got many duplicated/similar swfs.
I want a function that makes every movieclip on the scene thats beeing released to do what�s in the actonscript.My function doesnt woork, is there a function that works for every movieclip on the scene whatever instancename the movieclip has ?
In my attached file first user drag dot symbol into the block targets and then user drag the arrow in the same targets.now i want to set both are in single target.( see the screen shot of target.png file )
i'm pretty new user with TweenMax and i have simple question. Usually using flash built-in TweenEvent i could get the object that is tweening, using e.target.obj. But then apparently i couldn't do it if i use Greensock TweenEvent, because it seems unable to retrieve the object as the property "obj" could not be found.
What should i write that is equivalent to "e.target.obj"?