Как использовать Pixel Bender в файле оболочки FP9
Мы создаем Flash-игры, которые встраиваются в сторонние SWF-файлы-оболочки, которые экспортируются для FP9.
Если я создаю FPF SWF, который использует классы Pixel Bender (Shader, ShaderData), когда я запускаю их в оболочке FP9 в проигрывателе FP10, выдается ошибка
VerifyError: Ошибка № 1014: класс flash.display::Shader не найден.
Есть ли способ получить доступ к этим классам FP10 - или версия самой внешней оболочки определяет, что доступно дочерним SWF? Это как-то связано с доменом приложения?
Спасибо за любую помощь, Джеймс
2 ответа
Гектометр Я сделал что-то похожее на это - если вы создаете SWF-файл с импортированным классом, а затем загружаете его из другого SWF-файла, который их не импортирует, вы можете получить доступ к этим классам.
Я не уверен, что по определению (вероятно, выдает ошибку времени компиляции), но, безусловно, возможно получить экземпляр (определить что-то в дочернем SWF, а затем получить доступ через MovieClip (theLoader.content).theInstance).
Проблема здесь заключается в том, что встроенные библиотеки флэш-памяти могут быть не включены - в конце концов, они являются частью среды выполнения. Так что - попробуй доступ к экземпляру, кроме этого, я не могу придумать ни одного решения.
Я получил окончательный ответ от Senocular на kirupa.com - невозможно использовать классы FP10 в оболочке FP9
Первоначальный SWF - SWF, который создал экземпляр проигрывателя - определяет API, доступный для всех последующих SWF. Если у вас есть обертка SWF 9, в которую загружено содержимое SWF 10, этот контент будет иметь доступ API только к API SWF 9. Это по замыслу.