感謝您花時間閱讀我的問題。 所以,我有一個動畫片段,我添加到舞臺上,裏面有另一個動畫片段的實例。讓我們調用另一個第一個動畫片段A.第二個的實例名稱將是事物。所以我這樣做:Flash協調系統
var a:A = new A();
stage.addChild(a);
而且這很好,a的座標很好,但a.thing.x總是基於它距離a有多遠。有沒有辦法讓a.thing.x顯示在舞臺的座標系上? 我希望我能夠明確提出我的問題。
感謝您花時間閱讀我的問題。 所以,我有一個動畫片段,我添加到舞臺上,裏面有另一個動畫片段的實例。讓我們調用另一個第一個動畫片段A.第二個的實例名稱將是事物。所以我這樣做:Flash協調系統
var a:A = new A();
stage.addChild(a);
而且這很好,a的座標很好,但a.thing.x總是基於它距離a有多遠。有沒有辦法讓a.thing.x顯示在舞臺的座標系上? 我希望我能夠明確提出我的問題。
// position in stage coordinate system
var targetAbsolutePoint:Point = new Point(100, 100);
// position in "a" MovieClip coordinate system
var targetRelativePoint:Point = a.globalToLocal(targetAbsolutePoint);
// set position
thing.x = targetRelativePoint.x;
thing.y = targetRelativePoint.y;
回答你的問題的意見:
http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7df5.html
「x」 和相對的DisplayObject的 「Y」 的屬性爲(0,0)的座標其父顯示對象的軸。所以如果位於(10,50)點的「a」MovieClip和位於(20,40)的「thing」MovieClip指向「a」MovieClip的內部,那麼爲了找到「thing」MovieClip的絕對座標,我們應該計算:
X = 「x」 的 「一」 的MovieClip + 「x」 的 「東西」 座標的MovieClip = 10 + 20 = 30
和
Y = 「Y」 座標的座標「a」MovieClip +「y」coordiante「thing」MovieClip = 50 + 40 = 90
但是b ecause有可能的幾個嵌套母的DisplayObject這樣的localToGlobal和globalToLocal方法的使用,而不是
absoluteX =我的影片剪輯的X +我的影片剪輯父的X +我的影片剪輯父父的X等
更方便
我還是一個初學者,你能解釋爲什麼targetAbsolutePoint是(100,100)? globalToLocal做什麼? – user1949350
點(100,100) - 只是隨機值 – kostik
這是有幫助的,作品!萬分感謝! – user1949350
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#localToGlobal() – nkint
沒有幫助,還是謝謝你! – user1949350
使用術語子/父來描述* a *和* thing *之間的關係會很有幫助。 * thing *是* a *的孩子,因此它的位置相對於它的父母。 – prototypical