![]() |
stage.stageWidth меньше stage.width при stage.scaleMode = StageScaleMode.SHOW_ALL
Вложений: 2
Здравствуйте.
Пытаюсь использовать Код AS3:
-- Процесс загрузки приложения происходит следующим образом: 1. Загружается preloader 2. Preloader загружает основной код 3. Который, в свою очередь, загружает ресурсы в виде изображений, дополнительных swf и отрисовывает главное окно приложения. Максимальный размер ресурса, который загружается на 3-м этапе - 1600х900, при масштабировании просто хотел положиться на stage.scaleMode = StageScaleMode.SHOW_ALL, однако, в процессе загрузки, вижу что Код AS3:
Ниже представлены 2 изображения, не из приложения, просто чтобы дать представление о том, как это выглядит: 1. Вложение 28745 2. Вложение 28747 В html и js файлах, используемых для загрузки, width = height = 100%. Пробовал загрузку в разных браузерах, результат одинаков. Судя по всему размер 500x375 является размером по умолчанию, которую использует mxmlc (http://livedocs.adobe.com/flex/3/htm...pilers_13.html, опция default-size) Если я правильно понимаю значения stage.stageWidth и stage.stageHeight, то они должны соответствовать максимальному размеру дочерних объектов. Такое поведение можно наглядно наблюдать в примере http://theactionscripter.com/2009/05...tagewidth.aspx (можно открыть его в отдельном окне, тогда будет видно что stageWidth совпадает с размером экрана http://theactionscripter.com/files/3...stagewidth.swf) Если установить тэг компилятора Код AS3:
Понимаю, что можно использовать совместное решение установки тэга и установки Код AS3:
Возможно кто-то сталкивался с похожей ситуацией и знает решение проблемы. Заранее спасибо. |
Что вообще нужно? Чтоб объект был всегда по ширине флешки?
|
Да, нужно чтобы окно браузера вмещало ролик полностью и flash масштабировал его при изменении размера окна.
|
Лучше оставить NO_SCALE и модифицировать ваш DO по событию Event.RESIZE Stag'а. Мало ли какое разрешение будет у пользователя...
|
Хотелось обойтись малой кровью, благо стандартное масштабирование делает как раз то, что надо. И подошло бы даже для разных разрешений. Но, увы.
В случае если не заработает придется так и поступить, спасибо за совет. |
Цитата:
|
Цитата:
|
Вложений: 1
Потому что SHOW_ALL, будет стремиться показать весь изначальный размер stag'а.
Т.е. если браузер к примеру находится в оконном режиме и окно как-нибудь сжато, или у пользователя установлено разрешение которое вы не учли, то по краям вы увидети область, которая должна была бы находиться за пределами видимости, т.к. stage.stageWidth превышает stage.width. Так, например, будет выглядеть ваш ролик с SHOW_ALL на квадратном мониторе. Красные полосы это дельта stage.height от stage.stageHeight. |
Цитата:
|
У меня было несколько похожая задача. Есть флешка с фиксированной шириной, высоту влешки меняет javascript.
HTML, JS Код AS3:
AS3 Document class Код AS3:
Другая серьезная проблема с которой я столкнулся быля связана с тем что при изменении размера swf из JS наблюдалось кратковременное (примерно 0.2 секунды) изменение aspect ratio флешки. Это было заметно и неприемлемо. Протестировал все 4 варианта StageScaleMode: SHOW_ALL, NO_SCALE, NO_BORDER, EXACT_FIT. Нормально работает только NO_SCALE. |
| Часовой пояс GMT +4, время: 15:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.