gpt4 book ai didi

flash - AS3 导入 FLA 文件

转载 作者:行者123 更新时间:2023-12-04 06:59:43 24 4
gpt4 key购买 nike

我有两个 as3 项目。项目A有 2 个文件( fla 带有 1 个框架和一些组件, as 带有一些行为和默认构造函数)。我想使用项目 A在我的项目中 B通过as3代码。但是当我做类似 A a = new A(x, y, z); 的事情时我在 A.as 中收到很多错误我正在使用未定义的属性(在我的 A.fla 文件中定义的那些)。

所以,现在我正在使用加载器来动态加载 A.swf进入我的项目 B .这可能不是一种有效的方法来做到这一点。导入项目的正确方法是什么A在项目中 B ?

谢谢。

最佳答案

加载 swf 是一个不错的方法来做到这一点..

****编辑我忘记了最明显的答案:
如果您使用的是 CS4,则应转到发布设置并选中“导出为 SWC”
在 flaB 中,链接外部库(Actionscript 设置)以包含刚刚生成的 SWC flaA。现在,你可以在 flaB 内说addChild(new flaAClass());
这使您可以在编译时访问 FLA A 中的任何库符号。这意味着您不能使用文档类,因此请确保为要引入 FLA B 的内容创建库符号并将其导出以用于 actionscript。然后将符号的类标签设置为独特的东西。将上面示例中的“flaAClass”替换为您的符号名称。

但是您不应该在 FLA 本身中定义任何属性。一个好的工作标准是这样的:
1)转到您的发布设置并取消选中“自动声明舞台实例”。

2)设置您的文档类/电影剪辑/任何内容,以便在类中引用舞台上的内容(这就是您必须执行第 1 步的原因——否则它会提示您声明它两次)

示例:您在舞台上有影片剪辑“mcA”..您的类(class)可能如下所示:

包裹 {

public class mainA extends MovieClip {
public var mcA:MovieClip;
public function mainA(...args):void
{
trace(mcA); //If mcA is on the stage and this is the document class, this will
//return [object MovieClip]
}
}

}

3) 作为文档类或基类附加到影片剪辑中的某些内容,您可以通过这种方式引用它。

以上内容适用于自定义动态类,但不会包含您随 FLA 带来的任何内容。如果您想从 fla A 中取出东西并将它们放入 fla B.. 您应该首先加载 SWF,然后从其库中提取一个类(但这可能是您不需要的不必要的复杂性)。

关于flash - AS3 导入 FLA 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2068446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com