Я делаю игру, где каждый экран загружается как отдельный swf. Я загружаю swf с помощью LoaderMax Greensock, но я не думаю, что это вызывает проблему. После загрузки в swf я могу установить свойства дочернего swf как String и MovieClip. Тем не менее, у меня есть библиотека сторонних разработчиков в пути к библиотеке, то же самое значение swc для обоих проектов. Однако, когда я пытаюсь передать несистемные переменные, он дает ошибку, в основном говоря: «Ошибка принудительного выполнения: невозможно преобразовать этот тип в этот тип». Если они являются одним и тем же типом данных, почему компилятор пытается их принудить? Должно быть, я что-то отсутствует здесь ...As3 Flash - Coercion Failed Errors Передача сторонних типов данных Swf to Swf
ошибка:
TypeError: Error #1034: Type Coercion failed: cannot convert package::[email protected] to package.ThisType.
at mJackStateMachine/onAskForClient()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
Здесь (упрощенно) полный обработчик. Он ломает, когда я пытаюсь передать УАК a_thisTypeVar типа ThisType между СФБ:
function CompleteHandler(e:LoaderEvent) {
childSwf = LoaderMax.getContent("LoginStateSwf").rawContent;
stage.addChild(childSwf);
childSwf.start(_thisTypeVar)
}
Пожалуйста, помогите! Как пропустить vars из сторонних библиотек между swfs. Я должен быть в состоянии сделать это, правильно?
Я думаю, что может происходить в том, что загруженная (вторичная) SWF не знает, что ThisType типа объекта. Это означает, что у вас есть тип, который известен основному SWF, но загруженный (вторичный) SWF не знает тип. Что расширяет этот тип? Было бы полезно посмотреть, для чего установлен _thisTypeVar, и вообще, что такое ThisType. –
ThisType is playerio.Client, оба swf импортируют этот класс и имеют тот же playerio.swc в пути сборки –
Как вы строите SWF? Если playerio.swc включен в оба SWF, у вас будет два конкурирующих определения ThisType. Включение SWC в качестве общей библиотеки времени выполнения в дочернем SWF может решить проблему. – Brian