• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Flash 外部から読み込んだ画像ファイル(png)の扱いについて)

Flash外部から読み込んだ画像ファイル(png)の扱いについて

このQ&Aのポイント
  • swfと同じフォルダに置いた画像ファイル(test.png)を読み込んだ後、ドラッグ&ドロップや生成などの操作する方法を知りたい。
  • 画像ファイルを外部から読み込んだ後、自由に操るには何か変換する必要があるのか、それともクラス化することができるのか知りたい。
  • pictLdr1.load(pictURLReq1);というコードで画像ファイルを読み込み、pictLdr1.addChild(haikei);で表示し、pictLdr1.xとpictLdr1.yで座標を設定している。

質問者が選んだベストアンサー

  • ベストアンサー
  • an631
  • ベストアンサー率82% (28/34)
回答No.2

現在は(A) haikei(親)--pictLdr1(子) となっています。 これを(B) haikei(親)--空のSpriteまたはMovieClip(子)--pictLdr1(孫) とする事で、haikeiは動かなくなります。 スクリプトにはpictLdr1の親をstartDragしなさいと記述してあります。 (A)の場合pictLdr1の親はhaikeiなのでhaikeiごと動きます。 (B)の場合pictLdr1の親は空のSpriteなのでpictLdr1だけが動いてるように見えます。 もっとスマートなやり方があるのかもしれませんが、これで動きます。 var pictLdr1:Loader = new Loader(); var pictURL1:String = "test.png"; var pictURLReq1:URLRequest = new URLRequest(pictURL1); pictLdr1.load(pictURLReq1); var hoge:Sprite = new Sprite();///////////// haikei.addChild(hoge);///////////// hoge.addChild(pictLdr1);///////////// pictLdr1.x = 10; pictLdr1.y = 10; pictLdr1.addEventListener(MouseEvent.MOUSE_DOWN, pickup); pictLdr1.addEventListener(MouseEvent.MOUSE_UP, place); function pickup( event:MouseEvent ):void { event.target.parent.startDrag(); } function place( event:MouseEvent ):void { event.target.parent.stopDrag( ); }

arigato39s
質問者

お礼

丁寧に解説していただきありがとうございます。 当方、階層のことをよく理解していなかったようです。 勉強になりました。

その他の回答 (1)

  • an631
  • ベストアンサー率82% (28/34)
回答No.1

ステージにhaikeiムービークリップがあると考えて良いのですよね? haikeiムービークリップごと動いてしまいますが下記のスクリプトでドラッグ&ドロップはできます。 haikeiごと動くのが良くないなら、haikeiの中に空のムービークリップ等を配置して調整してください。 var pictLdr1:Loader = new Loader(); var pictURL1:String = "test.png"; var pictURLReq1:URLRequest = new URLRequest(pictURL1); pictLdr1.load(pictURLReq1); haikei.addChild(pictLdr1); pictLdr1.x = 10; pictLdr1.y = 10; pictLdr1.addEventListener(MouseEvent.MOUSE_DOWN, pickup); pictLdr1.addEventListener(MouseEvent.MOUSE_UP, place); function pickup( event:MouseEvent ):void { event.target.parent.startDrag()///////////// } function place( event:MouseEvent ):void { event.target.parent.stopDrag( );//////////// }

arigato39s
質問者

補足

ありがとうございます。 無事に動きました。 haikeiごと動かしたくない場合の「空のムービークリップを配置」することがよくわかりませんのでよろしかったら教えてほしいです。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう