2010-12-08 4 views
0

私はフラッシュムービーのインスタンス名 "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内にロードされていないことで、登録がずれることがありそうです - すべてのREGポイントが中央に設定されているにもかかわらず。

これは最も効果的な方法ですか?

答えて

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ハンドラーで実行する必要があります。

+0

完璧 - ありがとう – Chev

+0

問題ありません。それがうれしかった。 – Zevan

1

ロードされたムービークリップの登録は常に左上にあります。私はあなたのセンターをオフにすると信じています。 (幅/ 2 - 高さ/ 2)

関連する問題