Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.11.2009, 18:33
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 1  
Ответить с цитированием
Evgan

Регистрация: Jun 2008
Сообщений: 283
Thumbs up 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));


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

спасибо

Старый 06.11.2009, 19:09
skald вне форума Посмотреть профиль Отправить личное сообщение для skald Найти все сообщения от skald
  № 2  
Ответить с цитированием
skald

Регистрация: Oct 2002
Адрес: SPb
Сообщений: 151
Отправить сообщение для skald с помощью ICQ
полюбому вы позиционируете загруженый ролик точкой с координатами 0:0 и наверное знаете его H и W.

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

Старый 06.11.2009, 20:48
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 3  
Ответить с цитированием
Evgan

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

Старый 06.11.2009, 20:50
MaskiShow вне форума Посмотреть профиль Отправить личное сообщение для MaskiShow Найти все сообщения от MaskiShow
  № 4  
Ответить с цитированием
MaskiShow

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

Старый 06.11.2009, 21:16
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 5  
Ответить с цитированием
Evgan

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

Старый 06.11.2009, 21:22
MaskiShow вне форума Посмотреть профиль Отправить личное сообщение для MaskiShow Найти все сообщения от MaskiShow
  № 6  
Ответить с цитированием
MaskiShow

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

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


Последний раз редактировалось MaskiShow; 06.11.2009 в 21:26.
Старый 06.11.2009, 21:34
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 7  
Ответить с цитированием
Evgan

Регистрация: Jun 2008
Сообщений: 283
спасибо за просвещение
уф
а может подскажите пример, как загружать swf (как данные) и каким образом эти байты читать?

Старый 06.11.2009, 21:43
MaskiShow вне форума Посмотреть профиль Отправить личное сообщение для MaskiShow Найти все сообщения от MaskiShow
  № 8  
Ответить с цитированием
MaskiShow

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

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

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


Последний раз редактировалось MaskiShow; 07.11.2009 в 02:59.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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