динамический этап в ActionScript 3 - PullRequest
2 голосов
/ 09 ноября 2011

Мне было интересно, есть ли способ сделать динамическую сцену для содержимого, загруженного во флэш-файл.

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

page1 может иметь ширину 900px, page2 может иметь ширину 500px и по мере загрузкисодержание, на котором индексная ступень должна увеличить ширину до загруженной страницы.

Некоторые шаги, которые я пробовал, но не работали.

  1. , если нажата кнопка page1 stage.stageHeight =900;- не работает (как установить размер сцены в as3)
  2. сделал клип на странице 1, охватывающий размер страницы, и назвал его p1_stage, чтобы я мог ссылаться на данные оттуда.trace(container.p1_stage.height); выдает эту ошибку:

Ошибка типа: ошибка # 1010: термин не определен и не имеет свойств.
at index_fla :: MainTimeline / frame1 ()

Ответы [ 3 ]

2 голосов
/ 09 ноября 2011

swffit сделает это (в некотором роде).

Это на самом деле не меняет размер stage , это Javascript, который изменяет размер SWF в браузере.Вы будете вызывать его через ExternalInterface из Flash с нужным вам размером при загрузке нового контента.

0 голосов
/ 11 ноября 2011

Этап уже полностью динамический и автоматически настроит свойства stageHeight и stageWidth вместе с содержимым.Вам нужно, чтобы контейнер (обычно HTML) обновлялся с этими изменениями.

Добавьте слушателя к событию RESIZE сцены и вызовите свой javascript через ExternalInterface.Вы можете передать его по новым значениям высоты и ширины и таким образом изменить размер контейнера.

Просто примечание: будьте осторожны при изменении размера тега body.В некоторых браузерах это перезагрузит ваш SWF.

0 голосов
/ 09 ноября 2011

Сцена - вспышка синглтона.Когда вы добавляете ваш внешний SWF через addChild(), его этап property изменяется на этап родительского экранного объекта.Более того, вы не можете изменить ширину и высоту сцены в коде ActionScript, поскольку они являются параметрами только для чтения.

Эта проблема обсуждалась здесь:

http://activeden.net/forums/thread/change-stage-width-height-just-with-actionscript/8854

http://forums.adobe.com/message/2705364

...