收录日期:2021/01/22 02:40:47 时间:2010-03-31 04:56:42 标签:actionscript-3

I have 3 square. smallest square s3 is inside s2. s2 is in side s1. each is 10px larger

var s1:Sprite = new Sprite();
var s2:Sprite = new Sprite();
var s3:Sprite = new Sprite();

s2.addChild(s3);
s1.addChild(s2);

how can I find the coordinate of child in its parent's coordinate system?

Inside s3

trace(x) //10
trace(parent.childXof(s3)) //20 how do I get this?

What you are looking for is the localToGlobal and globalToLocal methods of DisplayObjects

Links to documentation:

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#globalToLocal%28%29

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#localToGlobal%28%29

They allow you to transform a point from one coordinate space to the other, which is what you are looking to do.

Hope it helps!