Skip to main content
Known Participant
April 4, 2013
Answered

Convert Object to String

  • April 4, 2013
  • 1 reply
  • 1296 views

I am trying to get the name of a MovieClip that the user is clicking on.  I am  getting an error at setting the startX value.  Iss there a way to do this? Thanks.

Here is a sample code:

var MC;

function T01MouseDown(event:MouseEvent):void

{

          trace("Tomato 01 Down");

          trace(event.target.name);

 

          MC = (event.target.name);

          //trace(MC);

          startX = MC.x;

          startY = event.currentTarget.name.y;

          event.currentTarget.parent.setChildIndex(event.currentTarget,event.currentTarget.parent.numChildren - 1);

 

          event.currentTarget.name.startDrag();

          stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);

          currentClip = event.currentTarget.name;

          trace(currentClip);

}

This topic has been closed for replies.
Correct answer kglad

use getChildByName to use an instance name to return a display object:

var MC:DisplayObject;

function T01MouseDown(event:MouseEvent):void

{

          trace("Tomato 01 Down");

          trace(event.target.name);

 

          MC = getChildByName(event.target.name);

          //trace(MC);

          startX = MC.x;

          startY = MC.y;

          event.currentTarget.parent.setChildIndex(event.currentTarget,eve nt.currentTarget.parent.numChildren - 1);

 

          event.currentTarget.startDrag();

          stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);

          currentClip = MC;

          trace(currentClip.name);

}

1 reply

kglad
Community Expert
kgladCommunity ExpertCorrect answer
Community Expert
April 4, 2013

use getChildByName to use an instance name to return a display object:

var MC:DisplayObject;

function T01MouseDown(event:MouseEvent):void

{

          trace("Tomato 01 Down");

          trace(event.target.name);

 

          MC = getChildByName(event.target.name);

          //trace(MC);

          startX = MC.x;

          startY = MC.y;

          event.currentTarget.parent.setChildIndex(event.currentTarget,eve nt.currentTarget.parent.numChildren - 1);

 

          event.currentTarget.startDrag();

          stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);

          currentClip = MC;

          trace(currentClip.name);

}

Known Participant
April 4, 2013

Awesome.Thank you so much.  One more question can I pass the event.currentTarget. to another function to stopdrag();

kglad
Community Expert
Community Expert
April 4, 2013

you're welcome.

and yes, you can pass event.currentTarget from within T01MouseDown to any other function:  stopdrag(event.currentTarget)

btw, you don't need to access the name property of event.target/event.currentTarget and then use getChildByName.  you can just reference event.target/event.currentTarget directly:

event.currentTarget.startDrag();