Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.06.2015, 14:15
SenCheR вне форума Посмотреть профиль Отправить личное сообщение для SenCheR Найти все сообщения от SenCheR
  № 1  
Ответить с цитированием
SenCheR

Регистрация: Sep 2008
Сообщений: 50
Отправить сообщение для SenCheR с помощью Skype™
По умолчанию Где взять исходники flash.display.Stage.as

Есть проблема со Stage.as, хочу посмотреть исходник. Слышал Flex SDK стал опенсорсным Apache Flex - но в репозитории не нашел. Кто-то знает где найти?

Старый 24.06.2015, 14:31
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 2  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Озвучьте проблему.
__________________
Дети не должны знать о своих родителях

Старый 24.06.2015, 15:20
SenCheR вне форума Посмотреть профиль Отправить личное сообщение для SenCheR Найти все сообщения от SenCheR
  № 3  
Ответить с цитированием
SenCheR

Регистрация: Sep 2008
Сообщений: 50
Отправить сообщение для SenCheR с помощью Skype™
Проблема в том, что в браузере флеш не может перейти в фулскрин без клика пользователя. Я пользуюсь старлингом и там нет кликов.
Скормить new MouseEvent.MOUSE_DOWN не катит.

Выдает ошибку - описание без старлинга тут: http://stackoverflow.com/questions/9...gedisplaystate

Код AS3:
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);
		}
Этот код работает, но со второго клика, т.к. до onFullScreenClicked я не слушаю флешовый MouseEvent.MOUSE_DOWN. А он в свою очередь приходит раньше старлинг TOUCH ивента.

В идеале мне надо создать new MouseEvent.MOUSE_DOWN, чтобы флеш думал, что он от юзера.
Иначе сделать клик с 1 раза, но Starling.current.nativeStage занимает весь экран поверх старлинга.

Старый 24.06.2015, 16:44
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 4  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Определение Stage зашито в флеш плеер, вы никак не сможете его переопределить.

Чтобы перейти в фул скрин не обязательно же нужен старлинг, просто в Main классе добавьте слушатель клика по Stage и входите в фул скрин.
Старлинг может инициализироваться после этого, или обновиться по событию resize.
__________________
Дети не должны знать о своих родителях

Старый 24.06.2015, 18:29
SenCheR вне форума Посмотреть профиль Отправить личное сообщение для SenCheR Найти все сообщения от SenCheR
  № 5  
Ответить с цитированием
SenCheR

Регистрация: Sep 2008
Сообщений: 50
Отправить сообщение для SenCheR с помощью Skype™
Я и не хочу переопределять. Мне интересно узнать как он отличает юзер клик от new клик.

А по поводу "слушатель клика по Stage" - мне же не надо по любому нажатию в фулскрин уходить, а только если юзер кликнет по кнопке.

Старый 24.06.2015, 18:50
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
В старлинге есть свойство Starling.current.nativeOverlay
это обычный флешевый спрайт, который находится поверх слоя старлинга. Вот в него можно добавить кнопку, по которой будет производиться щелчок.
Исходники Stage посмотреть нельзя нигде. Это один из классов, написанных на С++, который зашит в сам плеер, а он пока еще не опен сорс.

Старый 24.06.2015, 18:54
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 7  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Цитата:
Сообщение от SenCheR Посмотреть сообщение
В идеале мне надо создать new MouseEvent.MOUSE_DOWN, чтобы флеш думал, что он от юзера.
Это не возможно.

Попробуйте просто в старлинговом хендлере клика вызвать:
Код AS3:
Starling.current.nativeStage.displayState = StageDisplayState.FULL_SCREEN;
Но клик должен быть настоящим, никаких
Цитата:
new MouseEvent.MOUSE_DOWN
__________________
Дети не должны знать о своих родителях

Старый 25.06.2015, 23:29
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Объект события должнен быть создан внешним по отношению к плееру событием интерактивности. Это достаточно хорошо отслеживается по call stack. Ваш new MouseEvent в нем явно будет выглядеть белой вороной.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
AS3.0 , flex sdk , stage
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.