У меня необычное поведение, от которого я не могу до конца разобраться. Когда я запускаю это, если я перемещаюсь в области SWF, он обычно отслеживает движение мыши. Ожидается.
Но он отслеживает событие перемещения, когда я нажимаю в любом месте на экране. Если я щелкаю и перетаскиваю, он отслеживается, как если бы я двигался в области SWF браузера.
Вот код. Я упростила это до костей. Просто поместите это в пустой проект AS3 во Flex под названием «Engine» - без кавычек.
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
[SWF(width='640', height='360', backgroundColor='#888888', frameRate='31')]
public class Engine extends Sprite
{
public function Engine()
{
// Add the mouse handlers
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}
public function mouseMoveHandler(evt:MouseEvent):void
{
trace("move");
}
}
}
В качестве обходного пути я добавил MOUSE_MOVE один MOUSE_OVER и удалил его в MOUSE_OUT. Но поведение все еще кажется довольно необычным, и мне было бы интересно понять, почему это происходит.
Может кто-нибудь сказать мне, как я могу ограничить события фактической стадией приложения?