AS2 Gallery swf加载到主Web AS3 swf中

时间:2011-03-28 00:23:07

标签: actionscript-3 actionscript actionscript-2 gallery moviecliploader

我已经将AS2 swf加载到AS3 swf中,但是没有执行MovieClipLoader对象的onLoadInit函数;这使我的图像不居中,尺寸(宽度/高度)没有缩小

如果我直接运行AS2 swf(图库),它会起作用。

    listenerObj.onLoadInit = function (target:MovieClip) {
        if (target._height > _root.maxHeight) 
        {
            var ratio = target._height / _root.maxHeight;
            target._height = target._height/ratio;
            target._width = target._width/ratio;
        }
        if (target_mc._width > _root.maxWidth) 
        {
            var ratio = target._width / _root.maxWidth;
            target._height = target._height/ratio;
            target._width = target._width/ratio;
        }
        target._x = ((Stage.width/2)-(target._width/2));
        target._y = ((Stage.height/2)-(target._height/2));
    }
    MCL.addListener(listenerObj);

1 个答案:

答案 0 :(得分:0)

不幸的是,在AS3中加载AS2电影时,行为和错误存在一些细微差别。我也遇到了你所看到的行为 - 当电影加载到AS3中时,没有任何加载处理程序在监听器上工作。加载AVM1电影时会出现一些奇怪的问题,特别是在嵌入负载时。

也许您可以做的最好的事情是查看onEnterFrame来轮询加载剪辑的时间。一种方法是观察_width!= 0.这应该在剪辑加载后发生。然后你可以初始化位置:

function onEnterFrame()
{
  if(target._width)
  {
    // your positioning+init code here
    onEnterFrame = null;
  }
}