我有一些图像/精灵/按钮(我都试过了:))在舞台上滚动/移动。用户必须点击它们才能删除它们。
问题是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;
}