我已经将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);
答案 0 :(得分:0)
不幸的是,在AS3中加载AS2电影时,行为和错误存在一些细微差别。我也遇到了你所看到的行为 - 当电影加载到AS3中时,没有任何加载处理程序在监听器上工作。加载AVM1电影时会出现一些奇怪的问题,特别是在嵌入负载时。
也许您可以做的最好的事情是查看onEnterFrame来轮询加载剪辑的时间。一种方法是观察_width!= 0.这应该在剪辑加载后发生。然后你可以初始化位置:
function onEnterFrame()
{
if(target._width)
{
// your positioning+init code here
onEnterFrame = null;
}
}