Форум 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)
-   -   getBounds возвращает undefined (http://www.flasher.ru/forum/showthread.php?t=141522)

dark256 27.06.2010 14:23

getBounds возвращает undefined
 
Вложений: 1
Описание проделанных работ:
1. movieClipLoader
2. гружу им в основную флэшку внешний SWF с кучей клипов-домиков.
3. Начинаю расставлять домики в соответствии с их размерами.
Поскольку относительно координат своего клипа они все воткнуты по-разному, использую getBounds для корректного выравнивания по центру.

Далее. При запуске в среде флэш-разработки (CS3) getBounds возвращает размеры.
Как только рабочую флэшку я заливаю на сайт (ВКонтакт) getBounds начинает возвращать UNDEFINED!!! Что это за такое вот случилось? 4й день не могу понять!
Песочница молчит...

Кодл прилагаю. Там максимально все лишнее повыкидывал.
Функция - createBuildList( mov )
Строка - 169...

Может есть какая-то специфика использования гетБоундса, которая ускользнула от меня?

mooncar 27.06.2010 14:56

Мне кажется, что все дело в асинхронности, описанные вами симптомы такие.
Попробуйте для все выкинуть из функции initBuild, оставив в ней только MCL.loadClip и то, что нужно для инициации самой загрузки - определение переменных. А вот MCL и слушатель с его обработчиками сделайте вне функции в обычном режиме.
Так как сейчас - плохо. У вас все функции-обработчики назначаются внутри другой функции.

dark256 27.06.2010 15:06

Брр... что ж там лишнего-то?
Практически стандартный лоадер... Прямо таки целиком из тутора...

Скачал SWF-ну и передал ее уже далее для работы с ней. ВСЕ что работает с СОДЕРЖИМЫМ загруженного мувика - ессно во внешней функции. Ведь этот ролик используется далее сто раз по разному и везде...

К слову сказать у меня уже вариантов 5 разных способов загрузки этой либы - гетБоундас ведет себя одинаково.

mooncar 27.06.2010 15:10

Да я просто рассуждаю.
Если локально работало, а на серваке нет - тут корни либо в том, что начинает проявляться фактор асинхронности AS (несипользование или неправильное использование обработчиков событий), либо секюрные проблемы.

dark256 27.06.2010 15:16

Ну асинхронность можно смело отбросить. Это мне уже в голову приходило.
Кстати ЛИБА так и так хоть локально хоть с хостинга - тащится с внешнего сервера.
Так что... Единственное вот о чем сейчас думаю:
вся эта байда сделана для "Сферы Судьбы". Там этот гетБаундс прокатывает великолепно, но при этом он встроен в класс соответствующего интерфейса.

То есть: аттач мувика, у мувика есть класс, класс загружает в себя либу и там же все рисует расставляет - гетБаундс, падла, там работает. А вот чисто на руте - он не хочет. Соответсвенно вот вариант еще расположения гетБаунда по слоям мувикам и классам видимо какой-то критичный есть..... Но в чем именно эта закавыка...

rainbowrussia 27.06.2010 18:29

Если флешка лежит в одном месте, а графика грузит из другого, то, возможно, дело в crossdomain.xml

dark256 27.06.2010 18:37

Естественно что все до чего только смог дотянуться имеет в себе мантры:

Код AS1/AS2:

System.security.loadPolicyFile("http://vk.destinysphere.ru/crossdomain.xml")
System.security.allowDomain("*");
System.security.allowInsecureDomain("*");

А уж кроссдомейн вообще в каждом каталоге лежит. Без толку.

Сейчас откомпилил старый исходник, который РАБОТАЕТ по сию пору, и залил вконтакт. Он работаь перестал. Залил просто на свой хост. Тоже НЕ работает.
Вот сижу думаю - идти в церковь или значить пока у компа свечи возжечь...

------------------

Нда. Все. Что-то с секьюрностью таки. Когда все флэшки лежат в одном месте - гетБоундз работает.
С разных доменов - нет. Никак. Ваще... Дурррдомище. Кроссдомейны и все мыслимые разрешения присобачены.
Вот ну как вот это вот куда, а? :(

------------------
ПРИЧЕМ::::

ВКонтакте - лежит стартовый модуль,
он грузит в себя клиента игры (с внешнего относительно ВКонтакта домена),
клиент тащит в себя либы уже со своего домена, и ТАК вот в Клиенте - гетБоундс работает!!!

Ну и об чем тут такая секьюрность или что это вообще было? Тьфу...


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

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