#flash #actionscript-3 #mouseevent
#flash #actionscript-3 #mouseevent
Вопрос:
У меня есть флэш-фильм, который показывает сообщение пользователю при первой загрузке. Когда пользовательская мышь переходит на сцену или перемещает мышь, сообщение исчезает. Однако я хотел бы скрыть сообщение, если пользователь наведет курсор мыши на флэш-фильм при загрузке страницы. Возможно ли это или сначала требуется взаимодействие?
Спасибо
Ответ №1:
Вы можете создать объект Rectangle, который имеет те же x
, y
width
и height
значения, что и у сцены. Затем вы создаете условие (оператор if), которое проверяет, содержит ли Rectangle
объект значения этапа mouseX
и mouseY
при запуске вашего приложения. Ниже приведен простой тест для этого:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Rectangle;
import flash.text.TextField;
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}// end function
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var textField:TextField = new TextField();
addChild(textField);
var stageRect:Rectangle = new Rectangle(stage.x, stage.y, stage.stageWidth, stage.stageHeight);
if (stageRect.contains(stage.mouseX, stage.mouseY))
{
textField.text = "mouse is inside stage upon initiation";
}
else
{
textField.text = "mouse is outside stage upon initiation";
}// end if
}// end function
}// end class
}// end package
Комментарии:
1. привет, спасибо за ответ, но, похоже, это не сработает, как только я вставлю его на веб-страницу, даже используя ваш пример выше. Есть идеи?
2. Я думаю, вам, вероятно, нужно сначала настроить фокус flash с помощью javascript или jquery, чтобы быть уверенным, что он будет считывать движение мыши при загрузке.