Могу ли я использовать сценарии временной шкалы для встроенных SWF-ресурсов с Flex SDK?
-
05-07-2019 - |
Вопрос
Я встроил SWF-файл в класс, используя этот синтаксис выше моего определения класса:
[Embed (source='/../assets/MyMovieClips.swf', symbol='SpecialMovieClip')]
public class SpecialMovieClip extends MovieClip
Ресурс MovieClip, похоже, связан с моим классом нормально, создается вместе с ним и виден, но:
- Я не могу получить доступ к экземплярам, размещенным на сцене в этом клипе.
- Сценарий временной шкалы кажется нефункциональным.
Является ли это недостатком встраивания SWF-файлов во время компиляции с помощью Flex SDK?Итак, может быть, мне следует просто вернуться к компиляции с помощью Flash IDE, если я хочу, чтобы сценарии временной шкалы или экземпляры размещались на сцене?
Решение
если вы встраиваете с помощью тега [Embed ], все скрипты будут удалены из вашего символа.Но вы можете добавить скрипт к кадрам с помощью MovieClip.adframescript():
публичная функция SpecialMovieClip(){
Добавить фреймскрипт(4,myfunc)
}
частная функция myfunc(){
стоп()
}
я думаю, вы можете получить доступ к символам внутри видеоролика только с помощью MovieClip.getChildAt()
Другие советы
Из Документы:(прокрутите вниз до "Встраивание SWF-символов")
Если SWF-файл содержит какой-либо код ActionScript, Flex выводит предупреждение во время компиляции, а затем удаляет ActionScript из символа вставки.Это означает, что вы можете вставить только сам символ.
В зависимости от того, что вы хотите сделать, я думаю, вам было бы лучше внедрить весь SWF-файл целиком или загрузить его во время выполнения.
Кстати, что касается невозможности доступа к материалам внутри встроенного символа, вы убедились, что целевым SWF является AS3?Если вы встраиваете (или загружаете) содержимое AS2, то взаимодействие разрешено только через LocalConnection.Это также описано на странице документа, на которую я дал ссылку.