вам необходимо проверить свойство MouseEvent::buttonDown
в обработчике MouseEvent.MOUSE_MOVE
, чтобы установить флаг Boolean
UPD
код:
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
/**
* ...
* @author www0z0k
*/
[SWF (width="320", height="240", frameRate="24")]
public class Main extends Sprite {
private var _isDown:Boolean = false;
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);
color = 0;
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
private function onMove(e:MouseEvent):void {
color = e.buttonDown ? 0xffff00 : 0x0000ff;
}
public function set color(value:int):void {
graphics.clear();
graphics.beginFill(value);
graphics.drawRect(0, 0, 320, 240);
graphics.endFill();
}
}
}
результат - я нажимаю кнопку, перемещаю указатель за пределы firefox, отпускаю кнопку, нажимаю на другое окно приложения, затем снова нажимаю alt-tab на firefox и перемещаю мышь; в этот момент мой SWF распознает, что кнопка мыши отпущена
upd 2
он работает как предполагается в Firefox 3.6.10 и как описано в вопросе в Firefox 7.0.1