Вам нужно обращаться с MouseEvent.CLICK специально?Или вы просто пытаетесь обрабатывать касание и перетаскивание отдельно.Если это так, попробуйте один из этих двух способов:
MySprite.addEventListener(TouchEvent.TOUCH_TAP, taphandler);
MySprite.addEventListener(PressAndTapGestureEvent.GESTURE_PRESS_AND_TAP, taphandler);
(обратите внимание, что эти обработчики событий находятся на вашем спрайте, а не на сцене)
Для касания и перетаскиванияпопробуйте:
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
MySprite.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
MySprite.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove);
MySprite.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);
function onTouchBegin(eBegin:TouchEvent) {
eBegin.target.startTouchDrag(eBegin.touchPointID, false, bg.getRect(this));
trace("touch begin");
}
function onTouchMove(eMove:TouchEvent) {
trace(eMove.stageX);
}
function onTouchEnd(eEnd:TouchEvent) {
eEnd.target.stopTouchDrag(eEnd.touchPointID);
trace("touch end");
}
Единственная проблема, с которой вы можете столкнуться, заключается в том, что TouchEvent.TOUCH_TAP и TouchEvent.TOUCH_BEGIN могут интерпретироваться как MouseClick.TOUCH на вашем устройстве, поэтому, если к вашему спрайту подключен обработчикдля MouseClick.TOUCH у вас будет конфликт.
Кстати, большая часть этой информации взята из Справочник по Adobe Actionscript 3.0 - TouchEvent