【问题标题】:AS3-embedded SWF comes up as nullAS3 嵌入式 SWF 显示为空
【发布时间】:2014-06-04 08:22:14
【问题描述】:

所以我在我的 AS3 项目中嵌入了一个 SWF,但是当我尝试用它做任何事情时,它说它是空的。

代码如下所示:

[Embed(source = "../lib/Introduction.swf", mimeType = "application/octet-stream")]
public var introClass:Class;

(在一堆无关紧要的东西之后......)

var intro:MovieClip = new introClass() as MovieClip;
intro.play();

(它给我的错误信息是标准的 #1009 错误。)

我尝试了很多东西,包括使用加载器,不使用 MovieClip 等,但充其量只能加载 SWF 的音频(而不是视频),最坏的情况是,当 SWF 加载时整个应用程序崩溃尝试加载。如何让 SWF 被识别?

(如果有帮助,我正在使用 FlashDevelop。)

【问题讨论】:

    标签: actionscript-3 null flash


    【解决方案1】:

    你可以这样做:

    [Embed(source="asset.swf", symbol="symbol")]
    private var symbolClass:Class;
    
    var symbol:MovieClip = new symbolClass();
    

    如果您想嵌入艺术 SWF 中的符号。

    如果你想导入动画,这就是解决方案:

    [Embed(source="/loading.swf", mimeType="application/octet-stream")]
    public var LoadingAnimation : Class;
    
    // allows us to import SWFs to use as animations
    var context : LoaderContext = new LoaderContext (false,
        ApplicationDomain.currentDomain);
    context.allowCodeImport = true;
    var loader : Loader = new Loader ();
    loader.loadBytes (new LoadingAnimation (), context); 
    

    【讨论】:

    • 这行得通,但出于某种奇怪的原因,当 SWF 加载时,只有一个大的白色屏幕而不是动画(尽管音频仍在播放)。我知道 SWF 可以工作,因为我可以在库中访问它并且它可以播放视频和音频,所以这里还有其他事情吗?仅使用 Loader 而没有 LoaderContext 时,我遇到了同样的问题。 (这里指的是导入动画)
    • 但这可能最好留给另一个问题,因为它可能是一个不相关的问题。感谢您的帮助:)
    猜你喜欢
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 2010-09-26
    • 1970-01-01
    • 2012-09-27
    • 2013-05-21
    • 1970-01-01
    相关资源
    最近更新 更多