質問: new edit(); editmc.name="editmc"+j; chipmc.addchild(editmc); } //▼▼▼▼▼▼▼ドラッグ可能にする function chipmcmove(event:mouseevent):void { event.target.startdrag(); } function chipmcstop(event:mouseevent):void { event.target.stopdrag(); }
回答: まず 「おや?」 と思う箇所ですが, > chipmc.addchild(editmc); と書かれていらっしゃる行の 「chipmc」 が何のことやらわかりません。 これは dotmc.addchild(editmc); の書き間違いでしょうか? ===================== もし chipmc が dotmc の書き間違いであるなら, 2つの function 内の event.target の部分を event.currenttarget に書き替えれば良いと思います↓。 //▼▼▼▼▼▼▼ドラッグ可能にする function chipmcmove(event:mouseevent):void { event.currenttarget.startdrag(); } function chipmcstop(event:mouseevent):void { event.currenttarget.stopdrag(); } これでご質問の点はクリアされると思います。 ===================== しかし... ですね。 その前が何とも「なっとらん!」状態だと思います。 actionscript 3.0 では インスタンス名(nameプロパティ) など, よっぽどそれをつかわなければならない事態に遭遇したときにしか使うものではありませんよ。 ※私はそんな事態に遭遇したことはない。 次のページを参考にしてみてください。 「f-site [as3] movieclipインスタンスとインスタンス名」 http://f-site.org/articles/2008/04/19014939.html ↑すべてが重要ですが 中でも次の3箇所を引用させていただきます。 > インスタンスを参照する必要があるときには、 > つぎのフレームアクションのように > displayobjectcontainer.getchildbyname()メソッドにより > 文字列から参照を取得します。 > インスタンスを変数に格納して制御する方がよさそうです。 > インスタンス名は、他のインスタンスと区別して特定するための > プロパティだと思われます。 > 変数によりインスタンスを参照するというのが、 > actionscript 3.0の基本だといえます。