Вернёмся к теме полноэкранного режима в ActionScript, но уже на примере старого-доброго ActionScript 2.0.
Итак, есть два способа реализовать полноэкранный режим в ActionScript 2.0:
Способ первый: через fscommand.
Способ рабочий, но только для projector-ов.
В самом простом случае будет выглядеть как-то так...
Код ActionScript 2.0:
var fullScreenFlag:Boolean = false;
fullScreen_btn.onPress = function()
{
if(fullScreenFlag)
{
fullScreenFlag = false;
fscommand("fullscreen", fullScreenFlag);
this.gotoAndStop(1);
}
else
{
fullScreenFlag = true;
fscommand("fullscreen", fullScreenFlag);
this.gotoAndStop(2);
}
}
Этот способ в браузере не работает!
Способ второй: с помощью Stage.displayState.
Самая простая реализация этого способа будет выглядеть как-то так...
Код ActionScript 2.0:
fullScreen_btn.onPress = function()
{
if(Stage.displayState == "normal")
{
Stage.displayState = "fullScreen";
this.gotoAndStop(2);
}
else
{
Stage.displayState = "normal";
this.gotoAndStop(1);
}
};
Но для того, чтобы приведённый выше способ сработал в браузере, требуется разрешение на использование полноэкранного режима в коде вставки...
Код HTML:
<param name="allowFullScreen" value="true">
То есть, в самом простом случае, код вставки флеш-проекта будет примерно таким...
Код HTML:
<object type="application/x-shockwave-flash" data="myswf.swf" height="400" width="550"><param name="movie" value="myswf.swf"><param name="allowFullScreen" value="true"></object>
А вот и возможный результат:
Кстати, есть одна тонкость...
Если приведённый выше код не захочет работать (что может случится при работе со старыми флеш-редакторами или при создании флеш-проекта под старые версии flash player-а), то попробуйте следующую запись...
Код ActionScript 2.0:
fullScreen_btn.onPress = function()
{
if(Stage["displayState"] == "normal")
{
Stage["displayState"] = "fullScreen";
this.gotoAndStop(2);
}
else
{
Stage["displayState"] = "normal";
this.gotoAndStop(1);
}
}
Вот, пожалуй, и всё, что я хотел сказать. Исходники к этому посту можно скачать тут (под Macromedia Flash 8).