如何在flash中更换电影 - 装扮游戏

时间:2010-12-08 18:00:38

标签: flash actionscript-3

我有一个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中,并且似乎注册可能已关闭 - 即使所有注册点都设置为居中。

这是你做这件事的最佳方式吗?

2 个答案:

答案 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影片之前不会有大小。