0

我试图将一系列外部 Swfs 加载到舞台上的 Movieclip 中。swf 的尺寸为 800 x 600,而容器的尺寸为 400 X 400。

每当我尝试在容器中加载外部 swf 时,容器会采用加载的 swf 的大小而不是 400 x 400。我该如何克服这个问题?
我希望任何加载到容器中的 swf 为 400 x 400

我正在使用以下代码:

        var movLoad:MovieClipLoader = new MovieClipLoader();
        var myListener:Object = new Object();
        myListener.onLoadInit = function(thisMc:MovieClip) {
        thisMc._height = 400;
        thisMc._width = 400;       

        };
        movLoad.addListener(myListener);

        btnNext.onPress = function() 
        {
           loadSwf("myswf_file1.swf");//will change name accordingly.       
        }

        function loadSwf(swf)
       {
           movLoad.loadClip(swf, container_mc);
           // myswf1.swf is a swf which could be of any size .
          // container_mc is movieclip on stage.
         //container_mc has dimension 400 x 400 
        } 

谢谢阿米特

4

1 回答 1

1

编辑(新答案):我认为问题在于您加载的 swf 保留了 container_mc 的先前_xscale_yscale属性。

如果您尝试设置container_mc._width并且._height当 container_mc 是空剪辑时,flash(奇怪地)将其比例更改为零 - 当您的 swf 加载时,它的比例也为零,因此设置_width_height无效。

你可以用trace("scale = "+thisMc._xscale+" x "+thisMc._yscale);

解决方法是最初在 container_mc 中​​放入一些东西(比如 400x400 的正方形)。你可以隐藏它,直到你的 swf 加载。

于 2010-01-15T08:58:15.440 回答