【发布时间】:2012-06-10 13:11:24
【问题描述】:
我有一个 Flash CS5 项目,其中包含一个 FLA 文件和 20 到 30 个类文件。我正在尝试从 Adobe IDE 迁移到 FDT,而无需过多地修改我的代码。我已从 Flash 导出 SWC 文件并将其添加到我的 lib 文件夹中,现在我可以访问 FLA 文件中定义的符号,但对舞台上创建的对象的所有引用都显示为未定义。
我们将不胜感激地收到任何帮助或相关教程的指示。
【问题讨论】:
我有一个 Flash CS5 项目,其中包含一个 FLA 文件和 20 到 30 个类文件。我正在尝试从 Adobe IDE 迁移到 FDT,而无需过多地修改我的代码。我已从 Flash 导出 SWC 文件并将其添加到我的 lib 文件夹中,现在我可以访问 FLA 文件中定义的符号,但对舞台上创建的对象的所有引用都显示为未定义。
我们将不胜感激地收到任何帮助或相关教程的指示。
【问题讨论】:
在任何使用 MXMLC(FDT、Flash Builder、IntelliJ ......)的 IDE 中,Flash Professional 中放置在舞台上的项目将无法访问(甚至确实存在)。这是因为 IDE(使用 MXMLC)创建了自己的阶段。
如果您想使用 Flash Professional 以便将项目拖放到它的舞台上,则需要创建一个假舞台。为此,请在 Flash Professional 的舞台上创建一个空的 Movieclip,将您的时间拖放到此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;
}
}
【讨论】:
addChild(myStage) 即可完成您的示例。接下来我将使用我的生产应用程序执行此操作。