- 締切済み
n個のムービークリップをまとめて動かす
画像を格納したムービークリップがn個あります。 (外部テキストからの指定で画像の枚数が変わる) それらを順に横に並べているのですが、これを一括して横に動かすにはどうするのが適切でしょうか? 画像の枚数に応じて動的に生成するため、どのようにすれば ムービークリップ1~nを動かせるのかが分かりません。 例えば、ムービークリップ1~nを一斉に、 右方向に100px移動したい場合などです。 (イージングを付けて少しずつ移動させたい。) ActionScript2.0です。宜しくお願いします
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
ムービークリップ1~nを一斉に右方向に100px移動したい場合, 普通はその 1~n を1つのムービークリップ内に用意します。 そうすれば, その複数ムービークリップ入りムービークリップを1つ動かすだけで, ムービークリップ 1~n が一斉に 100px 移動します。 もう少し具体的に書くとすれば, ステージ上にたとえば「oya_mc」というインスタンス名を付けたムービークリップを作成しておいて, その「oya_mc」内に createEmptyMovieClip() で, n 個のムービークリップ 「ko_mc1」~「ko_mc n」 を作成して, oya_mc._x += 100; のように動かせば,「ko_mc1」~「ko_mc n」が一斉に 100px 右に動くということです。 ムービークリップ「oya_mc」の中に 「ko_mc1」~「ko_mc n」を作成する場合であっても, 「ko_mc1」~「ko_mc n」を_rootなどに直接作成する場合であっても, どっちにしても必要なのは [] (←配列アクセス演算子)だと思います。 たとえば, 「my_mc1」~「my_mc50」というインスタンス名を付けたムービークリップ50個が, _root(メインのタイムラインのステージ上)にあったとします。 その 「my_mc1」~「my_mc50」のムービークリップを一斉に 100px 右に動かすには, 次のようなスクリプトになります。 for(i=1; i<=50; i++){ _root["my_mc" + i]._x += 100; } この50の場所をnに変えてやれば, 10であっても,1000であっても,同じスクリプトで動かすことができます。 最初に書きましたような場合でも, これを利用すれば,createEmptyMovieClip() で,動的に作成するムービークリップの数や深度や座標を変えることができます。 「配列アクセス演算子」 と検索してみてください。 http://www.google.co.jp/search?hl=ja&q=%E9%85%8D%E5%88%97%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E6%BC%94%E7%AE%97%E5%AD%90