Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как передать stage в подгружаемый swf? (http://www.flasher.ru/forum/showthread.php?t=139398)

mrMEM 29.04.2010 20:01

как передать stage в подгружаемый swf?
 
есть прелоадер loader.swf,
в него подгружаю site.swf

в site.swf часто использую stage, к примеру stageWidth, что нужно для резинового сайта.

компилирую loader.swf, он выдает ошибку:

Код AS1/AS2:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
        at site()[E:\www\site.as:145]

это строчка:
trace("stageWidth " + stage.stageWidth);

вопрос в том,
как передать stage в подгружаемый swf?
или почему он является null?

iflamberg 29.04.2010 20:19

stage у мувика появляется только после того, как мувик добавлен на сцену. Видимо ты пытаешься в site.swf обратиться к stage в конструкторе. Нужно так:
Код AS3:

function Constructor (){
  addEventListener (Event.ADDED_TO_STAGE,stageHandler);
}
 
private function stageHandler (e:Event):void {
  removeEventListener(Event.ADDED_TO_STAGE,stageHandler);
  //только здесь можно начинать обращаться к stage
  trace (stage);
}


orcpochta 29.04.2010 20:21

интересно, а можно передать в конструктор stage из того места, где этот stage виден и пользоваться им без зазрения совести?)))

iflamberg 29.04.2010 20:26

можно. только зачем?

orcpochta 29.04.2010 20:28

Цитата:

Сообщение от iflamberg (Сообщение 904889)
можно. только зачем?

если автору вдруг очень хочется))

mrMEM 29.04.2010 20:53

затупил, нашел классную статью по этому поводу:
http://ruslanshestopal.com/actionscript3_tips/84
да, iflamberg, ты прав, спасибо


Часовой пояс GMT +4, время: 20:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.