Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Stage.width и Stage.height у импортированного swf (http://www.flasher.ru/forum/showthread.php?t=132220)

Evgan 06.11.2009 18:33

Stage.width и Stage.height у импортированного swf
 
Здраствуйте

Загружаю в ролик другой swf, по оконьчанию загрузки, как пологается, измеряю его размеры, и сталкулся с тем, что если у ролика есть элементы которые находятся за пределами облости его фактических размеров, то ме выдаётся размеры с учётом тех элементов которые вне, то есть не фактический размер+(
попробывал Stage.width, не получилось



Код AS1/AS2:

//***********************************************************************************************************
//                          |  загрузка SWF    |
//***********************************************************************************************************
 
var Zagr_SWF:MovieClipLoader = new MovieClipLoader();
var ObList_SWF:Object = new Object();
 
//**************************************************************
//________________________________ обработчик события успешной загрузки
_root.ObList_SWF.onLoadInit = function(imga:MovieClip):Void  {
        trace('ЗАГРУЗИЛОСЬ >> '+imga);
        trace(imga+'._width = '+imga._width);
        trace(imga+'._width = '+imga.Stage.width); // не работает так+(
 
};
 
_root.Zagr_SWF.addListener(_root.ObList_SWF);/
_root.cont.createEmptyMovieClip('swf'+1,1);
_root.Zagr_SWF.loadClip('swf/1.swf',eval('cont.swf'+1));



подскажите как это решить?

спасибо

skald 06.11.2009 19:09

полюбому вы позиционируете загруженый ролик точкой с координатами 0:0 и наверное знаете его H и W.

нарисуйте маску и все ... боьше никаких проблем не вижу. Stage. ... это будет относиться к загружающему мувику.

Evgan 06.11.2009 20:48

то что вы написали всё верно и всё понятно, но только если одно НО, про которое видимо надо было упоменут: у меня случай когда подгружаемые swf не одинакового размера (мол галлерея) и есть необходимость их центрировать, потому мне необходимо определять для каждого его размер фактический

MaskiShow 06.11.2009 20:50

То же как то с этим столкнулся. Stage загружаемой флешки, в случаях, когда содержатся объекты за сценой (т.е. в общем случае) никак не узнать, кроме как заранее загрузить размеры сцены из внешнего файла данных :(

Evgan 06.11.2009 21:16

то что по средством того xml сообщать о размерах предётся меня удручает канешне+(
странно это, ведь храниться где то размер ролика, ведь flashPlayer знает их, когда открывает ролик, логично же предположить что где то эта информация хранится

MaskiShow 06.11.2009 21:22

Информация о файле хранится в заголовке файла. В AS2 вы можете прочитать ее (первые байты файла) и обработать для получения размеров, но в итоге будет загрузка файла целиком. Только тут грузить как данные надо, а не как мувик x)

Байты с 8 по 17 включительно. Спецификация, стр. 255 :) http://www.adobe.com/devnet/swf/pdf/...t_spec_v10.pdf

Evgan 06.11.2009 21:34

спасибо за просвещение
уф
а может подскажите пример, как загружать swf (как данные) и каким образом эти байты читать?

MaskiShow 06.11.2009 21:43

Для этого нужно подумать и ответить на вопрос (может кто-нибудь подскажет, самому интересно):
Если мы грузим как loadMovie или как loadClip, как потом обратится к загруженному контенту как к данным? Или наоборот, если загрузили файл как данные, как из них "сделать" мувик?

Это чтобы 2 раза не грузить как данные и как мувик один и тот же файл...

Как вариант можно php использовать...


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

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