2009-08-26 2 views
0

現在、各ローダーはスプライトの子です - sprite.addChild(loader);AS3 - 複数の画像をステージにアップロードし、サイズを変更してそれぞれ別々に移動したい場合があります。

次へ私はスプライトをmyBorderのムービークリップボックスに追加します。movieClip - mainMovie.myBorder.box.addChild(スプライト);

次に私が使用してスプライトをドラッグすることができ -

mainMovie.addEventListener(のMouseEvent.MOUSE_DOWN、ピックアップ)。 mainMovie.addEventListener(MouseEvent.MOUSE_UP、dropIt);

function pickUp(イベント:MouseEvent):void { sprite.startDrag(); }

function dropIt(event:MouseEvent):void 
{ 
sprite.stopDrag(); 
} 

私は、各スプライト別々にしたいが、私はトラブル「しばらくの間」ループを使用する方法の理解を持っています。私は最大で5つの画像をアップロードする機能を与えたいだけです。

誰でも私を助けることができますか? ありがとうございましたAnnette B.

答えて

0

"スプライト"のドラッグを聴くべきではありません。あなたはドラッグ可能にしたいそれぞれの子供のために、別々のリスナーとハンドラーが必要です。

また
sprite.loader.addEventListener(MouseEvent.MOUSE_DOWN,pickUp); 
sprite.loader.addEventListener(MouseEvent.MOUSE_UP,dropIt); 

は、あなたが子供をドラッグする必要がある、ないあなたの「スプライト」コンテナ:

function dropIt(event:MouseEvent):void 
{ 
    sprite.loader.stopDrag(); 
} 

イムわからないあなたがしようとしている何をので、代わりに、あなたは「スプライト」の子でリッスンする必要があります私はそれが役に立つことを願う

var loaderArray:Array = []; 
for(var increment = 0; increment < numberOfUploads; increment++) { 
    loaderArray[increment]:URLLoader = new URLLoader(); 
} 

:ここではwhileループが、用を達成するためには、ローダ変数の束を作成するループのための基本的な例です。あなたのコードをもっと見ることができれば良いでしょう。

+0

サイズを上下にドラッグ&ドロップできるように、それぞれの画像を別の名前でターゲティングしたいと思います。 プライベート関数(イベント:イベント):完全なボイド \t \t {\t \t \t \t \t \t機能imgVal():数 \t \t \t { \t \t \t \t IMG + = 1; \t \t \t \t返信img; \t \t \t \t \t \t imgVal(); \t \t \t var sprite:Sprite = new Sprite(); \t \t \t sprite.addChild(loader); \t \t \t sprite.name = "pict" + img; \t \t \t trace(sprite.name); \t \t \t _fla.myBorder.box.addChild(スプライト); \t \t \t _fla.addEventListener(MouseEvent.MOUSE_DOWN、pickUp); \t \t \t _fla.addEventListener(MouseEvent.MOUSE_UP、dropIt);あなたが必要なすべてを持っているよう \t \t \t これは私の代わりになどPICT1、PICT2、の各スプライトPICT1に同じ名前を与えますが おかげアネットB. –

+0

が鳴ります。追加しようとしている子の数を知る必要があります(上記のコードではnumberOfUploads)。また、スプライト名をインクリメントする必要があります(コード内のimgはコード内のインクリメントです)。また、スプライトの名前を変更していますが、追加している子供の名前を変更していないのはなぜですか? – AyexeM

0

ループのための簡単なあなたはボックスの中には、他のクリップが、ローダーを保持するスプライトを持っていない、とあなたが作る必要があると仮定すると、あなたが持っている必要があり

ので、代わりの

mainMovie.addEventListener(MouseEvent.MOUSE_DOWN,pickUp); mainMovie.addEventListener(MouseEvent.MOUSE_UP,dropIt); 

を行う必要がありますそこにスプライトが追加されていることを確認してください。おそらく、スプライトとリスナーを追加するforループを使用する必要がありますが、私は十分な情報

for(var i:int = 0 ; i < 5 ; i++){ 
    mainMovie.myBorder.box.getChildAt(i).addEventListener(MouseEvent.MOUSE_DOWN,pickUp);; 
} 
stage.addEventListener(MouseEvent.MOUSE_UP,dropIt); 

[OK]を、説明がありませんように私は正確にあなたをアドバイスすることはできません。

ループのために簡単ですがまだ強力な言語要素。私はドキュメントを読んで、新しいFLAのサンプルコードをコピーして貼り付け、調整し、それを掛けることをお勧めします。それは見えるほど難しくありません。

ステージにMOUSE_UPハンドラを追加しています。なぜなら、as3では問題があるからです。 as2での作品のリリース。

+0

サイズを上下にドラッグ&ドロップできるように、それぞれのイメージを別の名前でターゲティングしたいと思います。 プライベート関数(イベント:イベント):完全なボイド \t \t {\t \t \t \t \t \t機能imgVal():数 \t \t \t { \t \t \t \t IMG + = 1; \t \t \t \t返信img; \t \t \t \t \t \t imgVal(); \t \t \t var sprite:Sprite = new Sprite(); \t \t \t sprite.addChild(loader); \t \t \t sprite.name = "pict" + img; \t \t \t trace(sprite.name); \t \t \t _fla.myBorder.box.addChild(スプライト); \t \t \t _fla。addEventListener(MouseEvent.MOUSE_DOWN、pickUp); \t \t \t _fla.addEventListener(MouseEvent.MOUSE_UP、dropIt); \t \t \t これは私の代わりに、PICT1、PICT2の各スプライトPICT1に同じ名前を与え、など おかげアネットB. –

+0

私はあなたのコードビット変更されました:プライベートするvar imgNum:int型。 プライベート関数が完了しました(イベント:イベント):void { \t imgNum ++ \t var sprite:Sprite = new Sprite(); \t sprite.addChild(loader); \t sprite.name = "pict" + imgNum; \t trace(sprite.name); \t _fla.myBorder.box.addChild(スプライト); \t sprite.addEventListener(MouseEvent.MOUSE_DOWN、pickUp); \t sprite.addEventListener(MouseEvent.MOUSE_UP、dropIt); } function pickUp(event:MouseEvent):void { \t trace(event.currentTarget.name); } 関数imgVal():Number {img + = 1; return img; } imgVal(); ++演算子を持つ番号を1つずつインクリメントするのと同じです。 –

+0

私が使ったもの: imgVal(); \t var sprite:Sprite = new Sprite(); \t sprite.addChild(loader); sprite.name = "pict" + imgNum; \t trace(sprite.name); \t _fla.myBorder.box.addChild(スプライト); \t sprite.addEventListener(MouseEvent.MOUSE_DOWN、pickUp); \t //sprite.addEventListener(MouseEvent.MOUSE_UP,dropIt); \t} \t機能ピックアップ(イベント:のMouseEvent):ボイド\t \t {\tトレース(event.currentTarget.name)。 \t} \t機能imgVal():数 \t {\t IMG + = 1; \t返信img; \t} まだアップロードされた写真の名前はpict0で、アップロードされた追加の写真の名前はpict0です。それぞれがpict1、pict2などになりますか? 感謝 –

関連する問題