1
我想從父容器的座標轉換爲全局舞臺座標。這是對象和容器:使用localToGlobal切換圖像位置
imgSprite.addChild(imgInstance); //imgInstance is imported from class
imageContainer.addChild(last);
imageContainer.addChild(imgSprite); // imgSprite and last are to be replaced
基本上,我想在imageContainer
切換兩個圖像的位置。
我應用了localToGlobal()
函數,但沒有任何效果。我做錯了什麼?
這是我的功能,取代他們。注意:此代碼屬於main
類,容器的父級爲stage,並且每個imgSprite
僅被添加到imgContainer
,並通過obj.x
,obj.y
(不在代碼中)移動。
function click(e:MouseEvent):void {
var p1:Point = e.currentTarget.localToGlobal(newPoint(e.currentTarget.x, e.currentTarget.y));
var p2:Point = last.localToGlobal(new Point(last.x, last.y));
e.currentTarget.x = globalToLocal(p2).x;
e.currentTarget.y = globalToLocal(p2).y;
last.x = globalToLocal(p1).x;
last.y = globalToLocal(p1).y;
}
據我所知,每個物體都有本地和全球的位置。所以,在這裏,我將一個本地位置轉換爲全局,然後再將另一個對象移動到這個位置時,我將它轉換爲本地,因爲它們屬於同一父級,所以它應該導致匹配座標,但是我的圖像開始飛行在各個方向,我開始拉我的頭髮。