2012-04-27 8 views
1

ビルドクリップがたくさんあるマップムービークリップ "map"があります。各建物は、クリックできるムービークリップです。そのクリックしたアイテムの中心に地図を配置する必要があります。どのように私はこの作品を作ることができますか?マップ位置の子のmcの位置にムービークリップを配置する

//This doesn't make the map move where i need it to 
function moveMap(childmc:String):void { 
    Tweener.addTween(themap, {x:themap[childmc].x, time:1, transition:"easeOutCubic"}); 
    Tweener.addTween(themap, {y:themap[childmc].y, time:1, transition:"easeOutCubic"}); 
} 

何か助けがあれば、時間を捜しているでしょう。

答えて

0

はこのような何かを試してみてください。

[編集] このコードをテストしたところ、うまくいきました。クリック可能なムービークリップは、別のムービークリップ "map_mc"の内側にあります。 STAGE_WIDTH/HEIGHTはステージサイズでしたが、ビューポートに追加することができます。

+0

私はちょうどそれを試みました - しかし、子クリップをクリックすると、親クリップ(マップ)が画面から消えます。私は子供と親(地図)btwの両方の中心に登録ポイントを持っています。基本的には、子クリップをクリックし、クリックされたクリップがビューポートの中央にくるように親クリップトゥイーンを持つ必要があります。 – lgriffin

+0

編集済み - あなたが望むものを達成できるかどうかを今すぐ確認してください。 –

+0

それは動作します!ありがとう! – lgriffin

0

コードを見ると、親MCをその内部にネストされているMCの位置にトゥイーンしようとしているように見えます。それがあなたがしようとしているものでないなら、おそらく{this [childmc] .x、this [childmc] .y}はあなたがトゥイーンしている場所を記述するオブジェクトを助けるかもしれませんか?また、時間と遷移はそのオブジェクトの内部か外部にあるべきですか?私はTweensyユーザーなので、わかりませんが、それは私にはうってつけです。

function objClick(e:MouseEvent):void{ 
    var target_x = STAGE_WIDTH/2 - e.target.x; 
    var target_y = STAGE_HEIGHT/2 - e.target.y; 

    TweenLite.to(map_mc, 1, {x: target_x, y: target_y}) 
} 

申し訳ありませんが、あなたのサンプルよりも多くの異なるコードを作るが、私はこの方法が優れていると思う:

+0

tweenerコードは間違いなく正しいですが、正しくないのは、マップが子クリップの中心にないことです。マップを移動しますが、子クリップを中心にしていません。 – lgriffin

+0

OK、あなたのコードは間違いなく正しいです。なぜあなたは再び問題を抱えているのか教えてください。 –

関連する問題