0

我有一些图像/精灵/按钮(我都试过了:))在舞台上滚动/移动。用户必须点击它们才能删除它们。

问题是touchevent与图像的位置不匹配。可触摸精灵移动得越快,触摸与实际图像之间的距离就越远。IE:

图像以 20 像素/帧在屏幕上移动:触摸图像不会触发任何操作,触摸 20 会触发对图像的触摸。

当图像不移动时,这不会发生。似乎图像已经在内部移动,但尚未绘制到屏幕上,但这只是一个疯狂的猜测。下面的示例使用了一个按钮,但图像也是如此。我将提供一个简短的代码示例,但我想我正在尝试做的事情非常简单。

private var _image:Button;
protected function init():void {
    //create pickup image
    _image  = new Button(assets.getTexture("button"));
    _image.scaleWhenDown    = 1;
    _image.addEventListener(Event.TRIGGERED, onClick_image);
    addChild(_image);

    //listen to touch event (not used, but example for touch on image instead of button
    //touchable = true;
    //addEventListener(TouchEvent.TOUCH, onTouch_image);
}

private function onEnter_frame(e:Event):void {
    _image.x -= 20;
}
4

0 回答 0