2011-08-16 25 views
0

は、私は基本的にこのフラッシュでオブジェクトをプログラムでスワップする最も良い方法は何ですか?

enter image description here

持ち、右側には、これらのボックスのいずれかをユーザーがクリックすると、それは左の黄色のボックスに表示されますときに私は何をする必要があるか、です。

これらの右側のボックスは、それぞれ異なるグラフィックスでユニークになります。基本的には、大きな黒い四角で表されるTシャツに表示される異なるグラフィックスになります。

これらのグラフィックはそれぞれ、マウスクリックイベントのボタンシンボルである必要がありますが、実際の処理方法はわかりません。

私はそのアイテムのクローンを作成し、ターゲットエリアに移動するだけでよいですか?または、私はちょうどディスプレイそれを表示できる何らかの種類の空白のプレースホルダを作成することは可能ですか?

答えて

1

を中断します。ここ が起こっていることを取得する手順は、次のとおりです黄色

    1. 置きBitmapオブジェクトを黄色領域のサイズのBitmapDataオブジェクトを作成し、あなたのビットマップのbitmapDataプロパティにそれを養います。
    2. BitmapDataオブジェクトのBitmapData.draw()関数を使用して、青と緑の領域のビジュアルスナップショットを作成します。 myBitmapData.draw(blueAreaDisplayObject)と同様です。
    3. 利益。
  • 0

    ライブラリにクラス名を付けて、ループを使用してライブラリにクリップを添付/削除し、IDを与えます。あなたのマウスイベントはevent.currentTargetへのアクセスを提供します。次に、id setter/getterを呼び出して、クリックされたタイルのIDを知ることができます。ライブラリからタイルをアタッチ/削除できます。

    あなたがそれを行う方法がわからない場合は、適切なAS3.0の学習を開始するためにwww.kirupa.comにアクセスすることをお勧めします。

    0

    ムービークリップの元の位置を保存し、元の位置に戻ることができる機能とシャツの上を移動できる機能の2つの機能を作ります。あなたはcurrentShirtMCで定義されたオブジェクトを持っていない場合

    var currentShirtMC:MC; //current item on shirt 
    
    //this event listener should added to every MC 
    function md(e:MouseEvent){ 
        currenShirtMC.moveBack(); 
    
    MC(e.target).moveTo(); 
    currentShirtMC=e.target; //e.target is the movieclip being clicked 
    } 
    

    このコードは、あなたがお勧めのような最も簡単な解決策は、それだけで表示にある...

    1

    この小さなゲームを行ってくださいhere。私は本当にActionscriptでオブジェクトを交換しています。

    関連する問題