Показать сообщение отдельно
Старый 02.07.2007, 23:15
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 10  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Спасибо большое __etc!

Поискал в гугле и нашел интересную статью. Выкладываю здесь, так как по ссылке, которую выдает гугл ее нет (статья взята из кэша гугла).
Вот ссылка:
http://gorbatov.org/tutorials/FullScreenSupport.html


Введение

Полноэкранный режим поддерживался раньше только в stand-alone плеере и projector файлах. Теперь добавлена возможность использования полноэкранного режима в plug-in и ActiveX версиях плеера. Полноэкранный режим не поддерживается для режимов windowless и transparent. Если пользователь использует несколько мониторов, то Flash Player определяет, какой монитор показывает наибольшую часть фильма и включает полноэкранный режим для этого монитора.

Для использования этого режима должен быть установлен плеер версии 9,0,18,60 или выше. На Intel Macs текущая версия плеера 9,0,20,0, но для использования режима должна быть 9,0,18,60.



Безопасность



*

Для использования полноэкранного режима необходимо добавить новый параметр тегов <object> и <embed> allowFullScreen в HTML код. По умолчанию он является false, что не поддерживает полноэкранный режим. Для его включения необходимо задать allowFullScreen равным true в <object>/<embed> тегах.
*

Поверх всего при полноэкранном режиме возникнет диалоговое окно, показывающее как выйти из этого режима. Через несколько секунд окно исчезнет.
*

ActionScript код, инициализирующий полноэкранный режим, может быть вызван только в ответ на нажатие клавиши или мыши. В остальных ситуациях он будет проигнорирован.
*

Пользователи не могут вводить текст в полноэкранном режиме. Все клавиатурные события отключены в этом режиме, кроме клавиш выхода из этого режима.

Эти ограничения относятся к plug-in и ActiveX версиях, но не к stand-alone плееру или projector файлам.



ActionScript API

Появилось несколько новых ActionScript методов в ActionScript 2.0 и ActionScript 3.0 для включения и выключения полноэкранного режима и соответствующих событий, оповещающих о начале или конце данного режима.
ActionScript 2.0

Stage.displayState:String property

Это свойство можно прочитать и установить. Возможные значения:

*

fullScreen
*

normal

Свойство используется для проверки текущего режима фильма для перехода или выхода из полноэкранного режима.

Слушатель события объекта Stage обеспечивает оповещение при переходе или выходе из данного режима:

Код:
EventListener.onFullScreen = function( bFull:Boolean ){}
Stage.addListener( EventListener );
Аргумент типа Boolean показывает, находится ли фильм в полноэкранном режиме (true) или нет (false).



ActionScript 3.0

flash.display.Stage.displayState:String property

Это свойство можно прочитать и установить. Возможные значения:

*

StageDisplayState.FULL_SCREEN
*

Stage.DisplayState.NORMAL

Свойство используется для проверки текущего режима фильма для перехода или выхода из полноэкранного режима.

Слушатель события объекта Stage обеспечивает оповещение при переходе или выходе из данного режима:
Код:
fullScreenHandler = function( event:FullScreenEvent ) {}; 
stage.addEventListener( FullScreenEvent.FULL_SCREEN, fullScreenHandler );
Событие AS3 FullScreenEvent, расширяющее ActivityEvent. FullScreenEvent имеет атрибут типа Boolean fullScreen, показывающее, находится ли фильм в полноэкранном режиме (true) или нет (false).

ActionScript 3.0 сгенерирует ошибку безопасности в plug-in или ActiveX версиях, если вышеперечисленные условия безопасности не будут соблюдены, а состояние будет установлено как StageDisplayState.FULL_SCREEN.

Использование нового ActionScript

Чтобы использовать новую возможность, необходимо обновить установленную версию Flash Professional или Flex.

Файлы для обновления находятся в этом zip архиве.

Если используется ActionScript 3.0 с preview-релизом Flash Professional 9, необходимо перезаписать файл playerglobal.abc из архива в папку установки Flash 9:

Flash 9 Public Alpha/en/Configuration/ActionScript 3.0/playerglobal.abc

Для использования нового ActionScript с Flex или Flex Builder, необходимо обновить Flex SDK. Скопируйте playerglobal.swc в папку:

Flex Builder 2/Flex SDK 2/frameworks/libs/playerglobal.swc

Если используется ActionScript 2.0 необходимо вручную отредактировать класс Stage.as, который находится в папке:

Flash 8/First Run/Classes/FP8/Stage.as

Добавьте новое свойство:

static var displayState:String;

В противном случае пришлось бы использовать плохой синтаксис:

Stage["displayState"] = "fullScreen";

а так намного лучше:

Stage.displayState = "fullScreen";


Масштабирование

Поведение при масштабировании зависит от параметра scaleMode в ActionScript или в тегах <object> и <embed>. По умолчанию scaleMode равен showAll, то есть при полноэкранном режиме фильм будет растянут на весь экран при поддержке пропорций. Если необходимо поддерживать масштабирование программно, то следует установить scaleMode равным noScale.

Это улучшит производительность при просмотре видео на медленных машинах, так как просмотр в полный экран требует больших ресурсов.
Клавиатурные сокрашения

Для выхода из полноэкранного режима используются Escape (Windows и Mac OS), Control+W (Windows), Command+W (Mac OS) и Alt+F4 (Windows).



HTML для полноэкранного режима
Код:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
 codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0" 
 width="600"  height="400" id="fullscreen" align="middle">
<param name="allowFullScreen" value="true" />
<param name="movie" value="fullscreen.swf" />
<param name="bgcolor" value="#333333" />
<embed src="fullscreen.swf" allowFullScreen="true" bgcolor="#333333" width="600" height="400"  
 name="fullscreen" align="middle" type="application/x-shockwave-flash"   
 pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

Темплейты публикации для Flash

Чтобы автоматически публиковать HTML файл фильма с поддержкой полноэкранного режима, необходимо скопировать файл из архива Flash_with_FullScreen.html в папку темплейтов:

Flash 8/en/First Run/HTML/

Перезапустите Flash. В Publish Settings вкладке HTML выберите "Flash with Full Screen Support."



Темплейты публикации для Flex Builder

В файлы обновлений добавлены HTML-шаблоны для использования во Flex Builder. Это модифицированные версии шаблонов "express-installation" и "express-installation-with-history".

Чтобы использовать эти шаблоны, необходимо

1. Удалить все файлы из папки "html-template" проекта.
2. Скопировать файлы из папки "full-screen-support" или "full-screen-support-with-history" в папку "html-template" проекта.



Примеры приложений

В качестве примера показаны приложения, в которых добавлен элемент FullScreen, с помощью которого можно перейти в полноэкранный режим и выйти из него, в контекстное меню мувика. Создайте какой-нибудь мувиклип mc и добавьте следующий ActionScript в первй кадр:


ActionScript 2.0

Код:
// функции входа и выхода в/из режима
function goFullScreen()
{
   Stage["displayState"] = "fullScreen";
}
function exitFullScreen() 
{
   Stage["displayState"] = "normal";
}

// функции включения/выключения элементов контекстного меню
function menuHandler(obj, menuObj) 
{
   if (Stage["displayState"] == "normal") 
   {
      // если мы в нормальном режиме, добавляем элемент 'go full screen' и убираем 'exit'
      menuObj.customItems[0].enabled = true;
      menuObj.customItems[1].enabled = false;
   }
   else 
   {
      // иначе - наоборот
      menuObj.customItems[0].enabled = false;
      menuObj.customItems[1].enabled = true;
   }
}

// создаем новое контекстное меню 
var fullscreenCM:ContextMenu = new ContextMenu(menuHandler);

// скрываем встроенные элементы
fullscreenCM.hideBuiltInItems();

// добавляем элемент для перехода в контекстное меню
var fs:ContextMenuItem = new ContextMenuItem("Go Full Screen", goFullScreen);
fullscreenCM.customItems.push( fs );

var xfs:ContextMenuItem = new ContextMenuItem("Exit Full Screen", exitFullScreen);
fullscreenCM.customItems.push( xfs );

// прикрепляем меню к мувиклипу или куда-нибудь еще 
_root.menu = fullscreenCM;


Последний раз редактировалось this.create; 02.07.2007 в 23:31.