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

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

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

Регистрация: Jan 2008
Сообщений: 35
По умолчанию Вложенность мувиков в приаттаченном клипе подгруженной флешки

Есть флешка mainElementsPackage.swf с несколькими клипами в библиотеке, 1 из клипов представляет собой 2 вложенных друг в друга мувика с именами 'aaa' и 'bbb' (вложены на сцене, а не программно добавлены), он ассоциирован с классом Sym3. Загружаем mainElementsPackage.swf в основную флешку, по окончании загрузки в основной флешке говорим

Код:
var MI = new Sym3();
addChild(MI);
на что получам ошибку:

Код:
ReferenceError: Error #1056: Cannot create property aaa on Sym3.
	at flash.display::Sprite/flash.display:Sprite::constructChildren()
	at flash.display::Sprite$iinit()
	at flash.display::MovieClip$iinit()
	at Sym3$iinit()
	at MenuItem$iinit()
	at rootMEPClass/::frame1()
ReferenceError: Error #1056: Cannot create property aaa on Sym3.
	at flash.display::Sprite/flash.display:Sprite::constructChildren()
	at flash.display::Sprite$iinit()
	at flash.display::MovieClip$iinit()
	at Sym3$iinit()
	at rootClass/onMEPLoaded()
То же самое происходит, если в клипе не мувики, а текстовое поле. При этом я заметил, что если поместить в клип графику или создать текстовое поле программно, то никакой ошибки при выполнении главной флешки не возникает. Собственно, вопрос: как заставить работать такой "сложный" клип, приаттаченный из подгруженной флешки? У меня в этих клипах может содержаться сложная графика и собирать всё программно из частей очень не хотелось бы

Старый 06.02.2008, 23:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Если бы ваши флешки лежали в разных папках, вы бы вообще основную флешку скомпилировать не смогли бы. А так у вас на самом деле класс Sym3 в основной и подгружаемой флешках отличаются. В основной не объявлены aaa и bbb (их объявляет компилятор CS3). После подгрузки интерпретатору сносит башню.
Используйте getDefinition вместо прямого создания класса Sym3 таким образом, чтобы в основной флешке его не было.
И ещё отключите автоматическое объявление полей-ссылок на клипы.

Старый 07.02.2008, 01:55
iforev вне форума Посмотреть профиль Отправить личное сообщение для iforev Найти все сообщения от iforev
  № 3  
Ответить с цитированием
iforev

Регистрация: Jan 2008
Сообщений: 35
Большое Вам человеческое спасибо, работает.
А что за поля-ссылки на клипы, просветите или скажите, где почитать?

Старый 07.02.2008, 02:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Поля-ссылки? Это обычные публичные свойства, которые ссылаются на клип и имеют такое же имя, как и клип, на который оно ссылаются. По факту, зло.
Отключается в настройках AS3 для проекта. Но тогда потребуется самому писать все эти public var aaa:MovieClip, т.к. CS3 не позволяет отключить constructChildren совсем, что есть плохо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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