2013-07-18 23 views
0

我有一個包含幾個按鈕(交互式精靈)的精靈(讓我們稱之爲CONTAINER)。我想取回當地的Y來知道容器被觸摸/點擊的位置。如果CONTAINER的mouseChildren = false;這不是問題。但只要其內部的按鈕處於活動狀態,event.localY就會返回相對於所觸摸按鈕的值。AS3:獲取點擊/點擊精靈的event.localY

_imageContainer.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin); 

private function onTouchBegin(e:TouchEvent):void { 
    _imageContainer.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove); 
    trace("Touch point.y: "+e.localY); 
} 

有沒有辦法在不設置mouseChildren = false或計算它的情況下檢索localY的值? (=獲取孩子的位置並添加值)謝謝。

回答

1

而不是使用.localY我們也可以將全球鼠標座標轉換爲本地座標與globalToLocal

private function onTouchBegin(e:TouchEvent):void { 
    _imageContainer.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove); 
    var local:Point = _imageContainer.globalToLocal(new Point(stage.mouseX, stage.mouseY));  
    trace("Touch point.y: "+point.y); 
} 
+0

謝謝你的,優秀! – Fygo