0

我有一个包含几个按钮(交互式精灵)的精灵(我们称之为容器)。我想检索 localY 以了解 CONTAINER 被触摸/单击的位置。如果 CONTAINER 有 mouseChildren = false;,这不是问题。但是一旦其中的按钮处于活动状态, 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 的值?(=获取孩子的位置并添加价值)谢谢。

4

2 回答 2

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);
}
于 2013-07-18T16:11:24.310 回答
0

是的。你应该使用

localToGlobal();

或者

globalToLocal();

as3 了解 localToGlobal

于 2013-07-18T16:10:35.333 回答