Полноэкранный режим и ActionScript 2.0

Вернёмся к теме полноэкранного режима в 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).

Автор: admin

Дата добавления: 2015-03-14

Просмотров: 7817

Рейтинг поста: +2-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2016-05-22
Леонид, вы флеш с чем-то путаете: если флеш переводится в полноэкранный режим, то размеры самой флешки не меняются; флешка просто масштабируется под новые размеры. То есть, чтобы мувик всегда был в центре экрана, надо просто положить его в центр экрана.
Комментатор
Комментарий добавил(а): Леонид
Дата добавления: 2016-05-21
Может я как то не так выражаюсь, но что бы просто сказать то нужно вот что.
В этом флеше который работает в игре, есть отображение пинга и фпс которые показываются (в игре) слева вверху экрана.
что мне прописать что бы разместить отображение этих данных в центре экрана и (или) внизу в центре. (независимо от разрешения монитора). с часами сам разберусь )))
прилагаю еще и недекомпилированый флеш

http://www.fayloobmennik.net/6225939
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2016-05-20
Ответил на почту.
Комментатор
Комментарий добавил(а): Леонид
Дата добавления: 2016-05-20
Вот исходник
http://www.fayloobmennik.net/6220766

http://storage7.static.itmages.ru/i/16/0520/h_1463747125_5583588_538fb97fa2.jpg


Часы сейчас располагаются с отсчетом координат от верхнего края экрана независимо от разрешения экрана.
Нужен вариант тоже с отсчетом координат от края экрана или центра, но независимый, более простой.
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2016-05-20
Здравствуйте. Во-первых, вы используете не спрайт, а мувиклип. Во-вторых, нельзя управлять слоями в мувиклипе. Управляют не слоями, а вложенными в мувиклип дочерними мувиклипами. В-третьих, не стоит писать код на мувиклипах - это создаст вам кучу проблем. Пишите весь код на главной временной шкале - это сильно облегчает работу со всеми переменными и функциями. В-четвёртых, я не понял вашей задачи. Желательно показать исходник и более понятно объяснить задачу.
Комментатор
Комментарий добавил(а): Леонид
Дата добавления: 2016-05-19
Здравствуйте, вы уже подсказывали мне и ваша подсказка пришлась как раз кстати, подскажите пожалуйста еще вот что:
во флеше который используется в игре мне необходимо разместить объект (спрайт) в точку экрана которую задам я сам.
Необходимо чтобы объект размещался независимо от разрешения экрана либо отсчитывая координаты от края экрана либо от центра.
И еще также нужно чтобы не весь спрайт, а какой либо из Layer в спрайте, а не весь спрайт.
Я добавлял в панель actionScript для Layer вот такую функцию

onClipEvent (enterFrame)
{
var midX = this._parent._parent.minimap._x / 2 - this._parent._x;
var midY = this._parent._parent.minimap._y / 0 - this._parent._y;
if (tank._currentframe == 1)
{
if (_root.text == "")
{
this.gotoAndStop(2);
this._x = midX;
this._y = midY;
}
else
{
this.gotoAndStop(2);
this._x = midX;
this._y = midY;
}
}
else if (tank._currentframe == 2)
{
this.gotoAndStop(2);
this._x = midX;
this._y = midY;
}
else
{
this.gotoAndStop(2);
this._x = midX;
this._y = midY;
}
}

где
var midX = this._parent._parent.minimap._x / 2 - this._parent._x;
var midY = this._parent._parent.minimap._y / 0 - this._parent._y;
0 - отсчет от верха экрана, 1 и 2 от центра или низа.

Этот вариант работает, но так как он связан еще с другими функциями то он подходит не под все Layer.
Нужен как бы независимый вариант.
Помогите пожалуйста.
Спасибо.
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика