椋鸟舞台touch.phase移动精灵到当前触摸舞台的位置

时间:2014-07-20 04:52:07

标签: starling-framework

我试图将精灵对象(英雄)移动到舞台上的开始触摸事件的当前位置。每当我触摸舞台时,它会读出当前的globalXglobalY坐标,但精灵会从舞台上消失,所以我不知道自己做错了什么。

这是我的代码:

private function onTouch(e:TouchEvent):void
{
    var touch:Touch = e.getTouch(stage);
    if(touch)
    {
        if(touch.phase == TouchPhase.BEGAN)
        {
            hero.x += touch.globalX;
            hero.y += touch.globalY;
            trace("Touched stage at position: " + touch)
        }
        else if(touch.phase == TouchPhase.ENDED)
        {
            //The Touch ended (MouseUp)
        }
        else if(touch.phase == TouchPhase.MOVED)
        {
            //dragging
        }
    }       
}

1 个答案:

答案 0 :(得分:0)

可能你的英雄精灵被添加到Spirte,其大小与你指定触摸事件的对象不同。你需要一个精灵,例如屏幕大小,英雄和事件添加到它。

希望有帮助:)