【问题标题】:AS3: Get event.localY of the clicked/tapped spriteAS3:获取点击/点击精灵的 event.localY
【发布时间】:2013-07-18 16:00:19
【问题描述】:

我有一个包含几个按钮(交互式精灵)的精灵(我们称之为容器)。我想检索 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 的值? (=获取孩子的位置并添加价值)谢谢。

【问题讨论】:

    标签: actionscript-3 events touch local point


    【解决方案1】:

    您可以使用globalToLocal 将全局鼠标坐标转换为本地坐标,而不是使用.localY

    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);
    }
    

    【讨论】:

      【解决方案2】:

      是的。你应该使用

      localToGlobal();
      

      globalToLocal();
      

      as3 understanding localToGlobal

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-16
        • 1970-01-01
        • 1970-01-01
        • 2017-06-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多