0

早上好,友好的 Flashers ;) 所以我从昨天开始就一直在尝试将 SWF 文件加载到我的主要电影中。在将代码放入movieClip 之前,我已经完成了这项工作,但这次我在Class 文件中工作。我有我的主类,它在包含加载器的子类中调用一个函数。我的问题是 swf 将加载(我可以通过跟踪来判断)但我看不到加载的 swf :(

下面是我的子类中的代码

package src.howdinicurtain {

import flash.net.*;
import flash.display.*;
import flash.events.Event;

public class HowdiniFrame extends MovieClip {   
    //public var splashLoader;
    public var introLoader:Loader = new Loader();
    public var introContainer:MovieClip;
    private var holdX:Number;
    private var holdY:Number;

    public function HowdiniFrame(url:String, loadX, loadY):void {
        holdX = loadX;
        holdY = loadY;

        this.addChild(introLoader);
        //this.addChild(introContainer);

        introLoader.load(new URLRequest(url));

        introLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,swfLoaded);
    }

    public function swfLoaded(e:Event):void {
        introLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded);
        introContainer = introLoader.content as MovieClip;
        //introContainer = MovieClip(introLoader.contentLoaderInfo.content);

        addChild(introContainer);

        introContainer.x = holdX;

        introContainer.y = holdY;

        trace("holdX = "+holdX);
        trace("holdY = "+holdY);

    } 

}

}

上面的代码将加载 swf 文件,我可以看到从动画开始到结束的 swf 文件跟踪语句,但我实际上看不到主 swf 内部的 swf 文件。

痕迹:

  • SWF 文件是 = intro.swf
  • 介绍电影开始:)
  • 移除了 contentLoaderInfo 事件
  • 介绍电影结束:(

这是我的主类中调用加载电影的子类函数的代码:

var introPath:String = xmlOutput.intro;
trace("The SWF file is = "+introPath+"\r"+"\r");
hc = new HowdiniFrame(introPath, 0, 20); 

我发誓我把我的代码放到了movieClip的第一帧,它工作正常,我看到加载的SWF中的动画立即播放,但是当我把我的代码放在Class文件中时,我根本看不到我的SWF:(想法?想法?感谢您的任何提示!

~ 莱昂

4

2 回答 2

3

始终正确对待您的孩子。不要忘记将它们添加到您所做的所有事情中,否则您就是一个糟糕的父母。

于 2009-09-22T16:18:09.527 回答
1

是什么hc?那是舞台上的MovieClip吗?如果你尝试:

hc.addChild(new HowdiniFrame(introPath, 0, 20));

或者如果 hc 不是舞台上的剪辑

hc = new HowdiniFrame(introPath, 0, 20);
addChild(hc);
于 2009-09-22T15:59:30.530 回答