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

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

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

Регистрация: Jun 2007
Сообщений: 77
По умолчанию глюки флеша и создание через getDefinition

Добрый день,

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

подробнее :
1. Основной swf файл (компиленный на mxml) грузит скомпиленный во флеше swf.
2. Берет от туда класс
Код AS3:
var cl = loaderInfo.applicationDomain.getDefinition('pers_01')  as  Class;
3. создает экземпляр.

Проблем в следующем. Созданный экзампляр частично проигнорировал stop(); во вложенных символах, ну, догадываюсь, полностью ActionScript в этих кадрах. то есть в тех местах где вложены мувики они проигрываются без конца. это напоминает "сломанный" (скомпиленный с ошибкой)файл, но подозрительно что часть вложенных мувиков стопанулась.
причем этот глюк именно из за экспорта символа, до этого пользовался созданным экземпляром на сцене подгружаемого swf, все было ок.

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

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

Спасибо.

Старый 26.12.2011, 07:46
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 2  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Просто каждый вложенный класс нужно экспортировать (галочка Export for ActionScript).


Последний раз редактировалось i.o.; 26.12.2011 в 07:48.
Старый 26.12.2011, 13:21
andrey_p вне форума Посмотреть профиль Отправить личное сообщение для andrey_p Найти все сообщения от andrey_p
  № 3  
Ответить с цитированием
andrey_p

Регистрация: Jun 2007
Сообщений: 77
Если их экспортить на на этапе создания он валится и говорит что подкласс не может совместить тип с MovieClip , что так же странная ошибка.

TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать flash.display::MovieClip@1073ad61 в pers_sub. at flash.display::Sprite/constructChildren()

На этой строке
addChild(MovieClip(new cl()));

Добавлено через 2 часа 25 минут
проблема решилась сама собой, просто на следующий день с перекомпиляцией все глюки изчезли.


Последний раз редактировалось andrey_p; 26.12.2011 в 13:25.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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