|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Где взять исходники flash.display.Stage.as
Есть проблема со Stage.as, хочу посмотреть исходник. Слышал Flex SDK стал опенсорсным Apache Flex - но в репозитории не нашел. Кто-то знает где найти?
|
|
|||||
Проблема в том, что в браузере флеш не может перейти в фулскрин без клика пользователя. Я пользуюсь старлингом и там нет кликов.
Скормить new MouseEvent.MOUSE_DOWN не катит. Выдает ошибку - описание без старлинга тут: http://stackoverflow.com/questions/9...gedisplaystate private function onFullScreenClicked():void { Starling.current.nativeStage.addEventListener(MouseEvent.MOUSE_DOWN, fullscreenButton_MouseClickHandler); var event:MouseEvent = new MouseEvent(MouseEvent.MOUSE_DOWN, true, false, 1242, 127, null, false, false, false, true); Starling.current.nativeStage.dispatchEvent(event); } private function fullscreenButton_MouseClickHandler(event:MouseEvent):void { SoundManager.playSound("selectScreenButtonSound"); if (!_fullscreenMode) { _fullscreenMode = true; Starling.current.nativeStage.displayState = StageDisplayState.FULL_SCREEN; } else { _fullscreenMode = false; Starling.current.nativeStage.displayState = StageDisplayState.NORMAL; } Starling.current.nativeStage.removeEventListener(MouseEvent.MOUSE_DOWN, fullscreenButton_MouseClickHandler); } В идеале мне надо создать new MouseEvent.MOUSE_DOWN, чтобы флеш думал, что он от юзера. Иначе сделать клик с 1 раза, но Starling.current.nativeStage занимает весь экран поверх старлинга. |
|
|||||
Определение Stage зашито в флеш плеер, вы никак не сможете его переопределить.
Чтобы перейти в фул скрин не обязательно же нужен старлинг, просто в Main классе добавьте слушатель клика по Stage и входите в фул скрин. Старлинг может инициализироваться после этого, или обновиться по событию resize.
__________________
Дети не должны знать о своих родителях |
|
|||||
Я и не хочу переопределять. Мне интересно узнать как он отличает юзер клик от new клик.
А по поводу "слушатель клика по Stage" - мне же не надо по любому нажатию в фулскрин уходить, а только если юзер кликнет по кнопке. |
|
|||||
В старлинге есть свойство Starling.current.nativeOverlay
это обычный флешевый спрайт, который находится поверх слоя старлинга. Вот в него можно добавить кнопку, по которой будет производиться щелчок. Исходники Stage посмотреть нельзя нигде. Это один из классов, написанных на С++, который зашит в сам плеер, а он пока еще не опен сорс. |
|
|||||
Цитата:
Попробуйте просто в старлинговом хендлере клика вызвать: Но клик должен быть настоящим, никаких Цитата:
__________________
Дети не должны знать о своих родителях |
|
|||||
.
|
Объект события должнен быть создан внешним по отношению к плееру событием интерактивности. Это достаточно хорошо отслеживается по call stack. Ваш new MouseEvent в нем явно будет выглядеть белой вороной.
|
Часовой пояс GMT +4, время: 15:33. |
|
« Предыдущая тема | Следующая тема » |
Теги |
AS3.0 , flex sdk , stage |
|
|