Экспорт SWC из Flash и доступ дочерний из Flex - PullRequest
0 голосов
/ 16 марта 2010

Я создаю проект ActionScript во Flex Builder. Мне удается экспортировать из Flash файл SWC и успешно использовать его во Flex. У меня хороший опыт программирования, и Flex выглядит для меня очень просто, но у меня бывают сложные времена во флэш-памяти.

Я пытаюсь достичь чего-то, что может быть очень простым (не для меня, конечно):

Я создаю простую форму во Flash, преобразовываю ее в символ. Затем я создаю TextField. Я выбираю оба элемента и преобразую их в другой символ, а затем экспортирую как мувиклип в SWC.

В flex я хочу изменить значение из текстового поля. Как мне быть? Я пытаюсь сделать:

var t:ExportedMC = new ExportedMC();
t....(what should I write here)

Как я уже упоминал, когда я открываю вспышку, я чувствую себя слоном в магазине фарфора. У меня есть 2 вопроса здесь: Как назначить имя для текстового поля во Flash? Я использую CS4. - как получить к нему доступ в детстве во флексе?

1 Ответ

3 голосов
/ 16 марта 2010

Когда вы создаете символ во Flash и экспортируете его в actionscript (в диалоговом окне свойств символа), вы создаете класс, доступный во Flex (после включения результирующего swc в путь библиотеки проекта Flex). Все элементы управления / формы / символы в этом классе будут содержаться и создаваться вместе с содержащим классом.

Если у вас есть какие-либо объекты / символы в этом классе, к которым вы хотели бы получить доступ / изменить / что угодно, вам нужно дать им имя экземпляра (вы можете сделать это без этого шага, но это сложнее). Во Flash вы редактируете (дважды щелкаете) объект класса в библиотеке, затем выбираете конкретный подобъект / символ / элемент управления в объекте класса и присваиваете ему имя, вводя что-либо на вкладке свойств объекта. Это имя будет включено в экспортируемый класс как свойство, к которому вы можете обращаться, как и к любому другому свойству класса (width, height, x, y, ...).

Например, если у вас есть символ ExportedMC, который включает элемент управления TextField, которому вы дали имя экземпляра (например, «txtFieldName»), вы получите к нему доступ во Flex следующим образом:

var t:ExportedMC = new ExportedMC();
t.txtFieldName.text="something";

Flex на самом деле сможет автоматически заполнять имя свойства в классе, поэтому вы легко сможете узнать, сработало ли это или нет.

Надеюсь, это поможет.

...