【问题标题】:how to access class from embedded swf如何从嵌入式 swf 访问类
【发布时间】:2011-09-02 19:57:59
【问题描述】:

我试图从嵌入式 swf 中获取特定类的实例,碰巧我需要的类也是为 swf 扩展 Sprite 的默认应用程序。如果我加载 swf,我可以成功地做到这一点,但是我想嵌入它。

我要加载的类也在扩展自定义接口。这是我尝试过但不起作用的方法:

[Embed(source="resources/MySwf.swf")]
private var MySwf:Class;

private function someFunction() : void
{
    var inst:ISomeInterface = new MySwf() as ISomeInterface;
}

感谢任何指点。

谢谢。

【问题讨论】:

    标签: actionscript-3 flash embed instance sprite


    【解决方案1】:

    嵌入文档在这里: http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html

    您应该能够执行以下操作:

    [Embed(source='resources/MySwf.swf', symbol='TheExportNameInMyFlaLibrary')]
    public var MySwf:Class;
    

    就个人而言,我更喜欢使用 Flash IDE 发布设置来检查 Export as SWC。这样,您只需将 SWC 放入 FlashBuilder 项目的 lib 文件夹即可完成。不必担心像这样手动设置每个班级。

    【讨论】:

    • 我同意 swc,但在这种特殊情况下,我不得不使用 swf。我也尝试过符号标签,但它告诉我符号明显存在时找不到。我没有包中的类,它只是在根可能会影响这个?
    • 根应该没问题;我也从来没有在我的导出中包含一个包。您确定您的符号在 Flash IDE 中选中了“Export for ActionScript”和“Export in frame 1”复选框吗?
    • 我使用的是 Flash Builder Pro,但在任何地方都看不到这些选项。
    • 抱歉,我应该更具体一些——这些选项将在生成 SWF 文件的 FLA 中。您有权访问该文件吗?
    • 我没有 fla(据我所知),只有两个文件:描述项目的 .project 和 .actionScriptProperties。由于我可以动态加载 swf 并以这种方式访问​​我的类,这是否表明它的导出属性没问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 2010-11-27
    • 2015-10-04
    • 1970-01-01
    相关资源
    最近更新 更多