我有一个flash影片实例名称“headArea”我想加载一个外部swf并在headArea中插入影片 - 替换头部。
我有以下代码:
clickIt.addEventListener(MouseEvent.MOUSE_DOWN, swopHead);
function swopHead(event:MouseEvent):void {
var loadit = new Loader();
headArea.addChild(loadit);
loadit.load(new URLRequest("head2.swf"));
}
问题是新的swf没有完全加载到headArea中,并且似乎注册可能已关闭 - 即使所有注册点都设置为居中。
这是你做这件事的最佳方式吗?
答案 0 :(得分:1)
我相信,加载的影片剪辑的注册始终是左上角,导致您的中心关闭。也许你应该在夹子加载后重新定位它(宽度/ 2 - 高度/ 2)
答案 1 :(得分:1)
加载程序位于0,0所以它看起来像左上方的注册。要正确居中,你可能需要做这样的事情:
loadit.contentLoaderInfo.addEventListener(Event.COMPLETE, onHeadLoaded);
function onHeadLoaded(evt:Event):void{
loadit.x = -loadit.width/2;
loadit.y = -loadit.height/2;
}
重要的是你做一半的负宽度和一半的高度,这样头部向上和向左移动而不是向下和向右移动。
这必须在Event.COMPLETE处理程序上完成,因为加载器在完全加载到你的flash影片之前不会有大小。