2016-11-10 3 views
1

だから私はaPlanetArrayと呼ばれるムービークリップオブジェクトの配列を持っていると私は達成しようとしている配列のすべてのオブジェクトを特定のpositingに移動し、tweenLiteまたはこれを達成する他の方法を使用して停止している。私はy+=2でそれを行うことができることを知っていますが、Tweenliteを使用してバウンスのような効果ですべてのオブジェクトをすばやく画面下に移動し、距離比を維持したいと考えています。ここでtweenどのように配列内のすべてのオブジェクトを照明し、距離の位置を維持するか?

は、ステージに追加したとき、私は彼らにセットアップを持っているかである:

//Numbers 
     xSpacing = 100; 
     ySpacing = 180; 
     startPoint = new Point((stage.stageWidth/2), (stage.stageHeight/2)); 

private function addOuterPlanets():void 
    { 
     for (var i:int = 0; i < nPlanets; i++) 
     { 
      outerPlanets = new mcOuterPlanets(); 
      outerPlanets.x = startPoint.x + (xSpacing * i); 
      outerPlanets.y = startPoint.y - (ySpacing * i); 
      stage.addChild(outerPlanets); 
      aPlanetArray.push(outerPlanets); 

     } 
    } 

と私はそれらをトゥイーンするとき、私はこのtweenlite機能を使用しています:

for each(var allPlanets:mcOuterPlanets in aPlanetArray) 
       { 
        TweenLite.to(allPlanets, 5.0, {y:550, ease:Back.easeOut}); 
       } 

これは完璧に動作しますが、すべてのオブジェクトにアレイは互いに整列し、互いの間隔を保ちません。どんなアイデアをいただければ幸いですか?

+1

を行うことができますいずれかあなたはそれらをすべて親コンテナに入れ、そのコンテナを移動するだけで、それぞれをループして移動する必要があります。 –

+0

それは私がやっていると思っていたことを参照してください。そのアプローチを取ることができないのであれば、それを試みたことはありません。だから、空のムービークリップを作成し、それに配列のオブジェクトを追加するだけです。病気は今すぐそれを試してみてください – Nathan

答えて

2

最も簡単な方法は、すべての惑星を親コンテナに入れてから、惑星の代わりにコンテナを移動することです。

var planetContainer:Sprite = new Sprite(); 

function addPlanetsToContainer():void{ 
    for (var i:int = 0; i < aPlanetArray.length; i++){ 
     planetContainer.addChild(aPlanetArray[i]); 
    } 
} 

そして今、あなたは地球上の文字を入れて今planetContainer

であなたのトゥイーンを行うことができます、あなたは排除するために

planet.addChild(character); 

または

character.x = planet.x + planet.parent.x; 
character.y = planet.y + planet.parent.y; 
+1

あなたは何を意味するか大丈夫です。これは完全に動作し、私もこれを行うと問題を解決します。stage.addChild(planetContainer);キャラクターが正しい惑星にとどまるためには今何を参照しなければならないのか、惑星の衝突を修正するために私を助けてくれた最後の質問を振り返ります。 – Nathan

+0

はいこれは次の作業です。私がおそらくそれをやり遂げる方法は、キャラクターを惑星の子供として追加することですが、あなたもそれをあなたのやり方で行うことができます。惑星がステージのX/Y座標だけに位置していないという事実を考慮する必要があります。 X位置は、宣言されたX値と親X値(yと同じ)の合計です。 –

+0

だから、あなたはcharacter.x = planet.x + planet.parent.xのようなことができます(そしてYも同じです) –

関連する問題