• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【AS3.0】たくさんあるムービークリップ)

AS3.0でたくさんあるムービークリップの記述を簡略化する方法はある?

このQ&Aのポイント
  • AS3.0を使用していると、複数のムービークリップの記述が長くなってしまい困っています。一つにまとめる方法はあるのでしょうか?
  • また、マウスイベントのリスナーも多く作成する必要があります。省略する方法はないのでしょうか?
  • AS3.0で多数のムービークリップとマウスイベントを扱う場合、効率的な記述方法や省略方法があれば教えてください。

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

  • ベストアンサー
  • yosheet
  • ベストアンサー率73% (14/19)
回答No.1

xx0から始まる連番だと楽なのですが… for (var i:int = 0; i < numChildren; i++ ) { getChildByName( parseInt ("xx" + i)).alpha = 0; getChildByName( parseInt ("xx" + i)).buttonMode = ture; getChildByName( parseInt ("xx" + i)).addEventListener(MouseEvent.ROLL_OVER, xxxOver); getChildByName( parseInt ("xx" + i)).addEventListener(MouseEvent.ROLL_OUT, xxxOver); getChildByName( parseInt ("xx" + i)).addEventListener(MouseEvent.CLICK, xxxOver); } しかし、名前がばらばらということで、 for (var i:int = 0; i < numChildren; i++ ) { getChildAt( parseInt (i)).alpha = 0; etc....... } で、できますが、これだと、ステージ上 (もしくはMovieClipの中)のすべてのMovieClipに適用されてしまいます。 そこで、適用したいMCを選択して新たにシンボル化してyyと名前をつけ、 for (var i:int = 0; i < numChildren; i++ ) { yy.getChildAt( parseInt (i)).alpha = 0; etc....... } もしくは、シンボル化したyyの中で、 for (var i:int = 0; i < numChildren; i++ ) { getChildAt( parseInt (i)).alpha = 0; etc....... } ただこれだと、addEventListener、alphaをそれぞれ個別に適用できませんし、 シンボル化してしまうので、FLASH上での取り回しが少し大変になります。 ほかにもやり方あると思いますけど...。

関連するQ&A