• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:actionscript3.0 オブジェクトの動的生成)

actionscript3.0でオブジェクトの動的生成とマウスドラッグ処理を実行したい

このQ&Aのポイント
  • actionscript3.0を使用して、任意の文字オブジェクトを動的に生成し、マウスドラッグで移動する処理を実行したいです。
  • 現在のスクリプトでは単一のオブジェクトを生成することしかできません。
  • イラストレーターのテキストツールのように、任意の文字列を生成した後、個々にマウスドラッグできる方法を教えてください。

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

  • ベストアンサー
回答No.1

イベントターゲットをstartDrag()、stopDrag() するようにすればいいと思います function wordMD( evt:MouseEvent ):void { word_mc.startDrag( ); } function wordMU( evt:MouseEvent ):void { word_mc.stopDrag( ); } ↓ function wordMD( evt:MouseEvent ):void { evt.target.startDrag( ); } function wordMU( evt:MouseEvent ):void { evt.target.stopDrag( ); } 複数インスタンスを生成できないという所は var word_mc:MovieClip = new mc( ); を creClick関数内でやってやればいいだけだと思います ついでにMOUSE_OVERでやってる リスナー登録もcreClickの時にしておけば いいと思いますよ 別にそのリスナー登録は MOUSE_OVERの度にやらなくても 一回やれば済むような事ですから

sheepman05
質問者

お礼

迅速かつ丁寧にご指導いただき、本当にありがとうございます。 関数内でインスタンスの生成を行えばいいんですね。 それにしても、ライブラリからオブジェクトをドラッグ で作成したムービークリップインスタンスなどは、 下層の内容を変更すると全てのインスタンスの表示が 変更されるのに対して、newコンストラクタで生成した場合には、 同じ変数名、同じクラス名なのに生成するごとに異なる オブジェクトを内包できることが未だ理解できません。 僕の感覚では、2つ目のインスタンスを生成した瞬間に 1つ目のインスタンスの表示も2つ目と同期してしまうように 思えてならないのですが。 もっと勉強して理解を深めなければいけませんね。 リスナー登録のタイミングも「なるほどー」という思いでした。 なんていうか、僕の中ではリスナー登録と関数呼び出しが 同じ処理のような感覚があって、登録することがすなわち 処理を行うという意識のもと、冗長なスクリプトになってしまい がちです。 リスナー登録はあくまでも登録ということを あらためて理解することができました。 重ねて御礼申し上げます。 ありがとうございました。