2
alatar - А если у нас не клик а длительное нажатие? Тогда вся теория с маусмувом накроется тазиком.

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.utils.getTimer;
/**
* @author Dukobpa3
*/
public class Main extends Sprite
{
private var counter:int = 0;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
stage.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
this.graphics.lineStyle(2);
this.graphics.moveTo(mouseX, mouseY);
}
private function onMove(e:MouseEvent):void
{
this.graphics.lineStyle(2);
this.graphics.lineTo(mouseX, mouseY);
}
private function onDown(event:MouseEvent):void
{
counter = getTimer();//засекаем время начала клика
trace("Мышь нажата");
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);//Это так, для демонстрации прикрутил, можно и не двигать.
event.updateAfterEvent();
}
private function onUp(event:MouseEvent):void
{
counter -= getTimer();//засекаем конец этого нехитрого действия
if (-counter <= 500) {//если отпустили раньше чем через полсекунды - значит клик
trace ("Это был клик: " + String( -counter));
this.graphics.clear();
}
else {//иначе обрабатываем завершение движения мыши
trace("Это был маусМув");
}
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
}
}
Добавлено через 4 минуты
А велосипед да. Помню месяца полтора назад это на форуме уже обсуждалось. Поиск по форуму может помочь...
Кстати и ответы там те же были

) Если бы не лень, то дал бы ссылку. Поиск по форуму
