Можно ли использовать сценарии временной шкалы для встроенных ресурсов SWF с Flex SDK? - PullRequest
2 голосов
/ 11 сентября 2009

Я встроил SWF в класс, используя этот синтаксис выше определения моего класса:

[Embed (source='/../assets/MyMovieClips.swf', symbol='SpecialMovieClip')]<br> public class SpecialMovieClip extends MovieClip

Актив MovieClip, кажется, связан с моим классом, хорошо, и создает его вместе с ним, и он виден, но:

  • Я не могу получить доступ к экземплярам, ​​размещенным на сцене в этом клипе.
  • Сценарии временной шкалы не работают.

Является ли это недостатком встраивания SWF-файлов во время компиляции с помощью Flex SDK? Так что, может быть, мне стоит вернуться к компиляции с помощью Flash IDE, если я хочу, чтобы сценарии временной шкалы или экземпляры располагались на сцене?

Ответы [ 2 ]

2 голосов
/ 14 сентября 2009
  1. если вы встраиваете тег [Embed], все символы будут удалены из вашего символа. Но вы можете добавить скрипт к кадрам с помощью MovieClip.addFrameScript ():

    публичная функция SpecialMovieClip () {

    addFrameScript (4, MyFunc)

    }

    приватная функция myfunc () {

    остановка ()

    }

  2. я думаю, что вы можете получить доступ только к символам внутри мувиклипа с помощью movieClip.GetChildAt ()

1 голос
/ 13 сентября 2009

Из документов : (прокрутите вниз до «Встраивание символов SWF»)

Если SWF-файл содержит какой-либо код ActionScript, Flex выводит предупреждение во время компиляции, а затем удаляет ActionScript из символа встраивания. Это означает, что вы можете встраивать только сам символ.

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

Кстати, что касается неспособности получить доступ к вещам во встроенном символе, вы удостоверились, что целевой SWF - AS3? Если вы встраиваете (или загружаете) контент AS2, то взаимодействие возможно только через LocalConnection. Об этом также говорится на странице документа, на которую я ссылался.

...