2012-06-10 2 views
2

У меня есть проект Flash CS5 с файлом FLA и 20-30 файлами классов. Я пытаюсь перейти от Adobe IDE к FDT, не слишком сильно меняя свой код. Я экспортировал SWC-файл из Flash и добавил его в свою папку lib, и теперь я могу получить доступ к символам, определенным в FLA-файле, но все ссылки на объекты, созданные на стадии, выглядят как неопределенные.Объекты, объявленные на сцене, не определены при перемещении Flash-проекта в FDT

Любая помощь или указатели на соответствующие учебники были бы с благодарностью получены.

ответ

1

Элементы, размещенные на сцене в Flash Professional, не будут доступны (даже существуют на самом деле) в любой среде IDE, которая использует MXMLC (FDT, Flash Builder, IntelliJ ....). Это связано с тем, что IDE (которые используют MXMLC) создают свою собственную сцену.

Если вы хотите использовать Flash Professional, чтобы вы могли перетаскивать и размещать элементы на своем этапе, вам нужно создать поддельный этап. Сделайте это, создав пустой Movieclip на сцене в Flash Professional, перетащите время внутри этого movileclip, установите его для экспорта в SWC (дайте ему имя класса, такое как MyStage, чтобы вы знали, что оно принадлежит вам). После того, как он экспортирует его как .SWC и связан с вашим проектом FDT, создайте его экземпляр и добавьте его на сцену в FDT.

Элементы, добавленные в эту «поддельную сцену», доступны как дети. Итак, вы синтаксис выглядит примерно так:

public class AnotherProject extends Sprite { 
    public function AnotherProject(){ 
     myStage = new MyStage(); 
     addChild(myStage); 
     myStage.item_I_dragged_insideOf.x = 100; 
    } 
} 
+0

Спасибо Алан, что делает его очень ясным. Мне удалось сделать это с очень маленьким тестовым проектом, мне просто нужно было называть 'addChild (myStage)' для завершения вашего примера. Я сделаю это с моим производственным приложением далее. –

+0

Дерьмо, ты прав. Я добавлю, что ... –