• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:attachMovieなどでMCをドット配置していく)

円をドット配置する方法とは?

このQ&Aのポイント
  • 円をドット状に配置する方法を教えてください。
  • AS2.0またはAS3.0を使用し、50x50ピクセルの円を10ピクセルの間隔で配置する方法を教えてください。
  • 円をドット状に配置するためのスクリプトを提案してください。

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

結局何にしても配置する座標データが必要ですよね。 円や楕円や矩形や放物線やsinカーブに沿って何かを配置するのでしたら, 何かの関数(プログラムの関数ではなく数学の関数)にしやすいので, その関数を用意して配置するかもしれません。 しかし書かれていらっしゃるサイトのものや 「OK」 などは, 関数で表しにくいです。 表せてもかなり四苦八苦するだけでその四苦八苦する意味を感じません。 したがって関数で表すのではなくて, 各座標を個々に直接指定するのが普通だと思います。 たとえば, ZahyouArray = new Array(); ZahyouArray[0] = [5,10]; ZahyouArray[1] = [5,20]; ZahyouArray[2] = [15,30]; ZahyouArray[3] = [20,35];   …      … のようにあらかじめ座標を用意しておいて for(i=0; i<ZahyouArray.length; i++){ MC = attachMovie("Maru", "Maru_mc"+i, i); MC._x = ZahyouArray[i][0]; MC._y = ZahyouArray[i][1]; } のようにしてその座標に attachMovie するとか。 もちろん, 最初のデータは何かで計算するなり算出しておく必要がりますが。 私なら関数の用意もしませんし, 数値的な座標データの用意もしませんけどね...。 単純に最初から配置したい場所に●を配置しておきます。 もし attachMovie を使いたいのでしたら, ●を配置すべき場所に,透明などで見えなくしていおたムービークリップを配置しておきます。 その座標に ● を attachMovie します。 わかりますか? A_mc0,A_mc1,A_mc2,A_mc3,… をステージ上に配置しておくということです。 そして for(i=0; i<A_mcの個数; i++){ MC = this.attachMovie("B", "B_mc"+i, i); MC._x = this["A_mc"+i]._x; MC._x = this["A_mc"+i]._y; } のようにすれば配置したい場所に B_mc? が配置されます。 ※何にしても 10px ぴったりの間隔はどうするのか知りません。  ActionScript の範囲ではないでしょう。  (ActionScript でするにしても言語の問題ではなく数学的アルゴリズムを考えるべきでは? という意味です。)

tkmkok
質問者

お礼

考え方だけでなく、スクリプト例までありがとうございます。 解説も説得力あります。 やはりそうなんですね。 このような場合は結局座標情報を用意した上で配列などで管理するのがベストと。 確かにその方が分かりやすいですよね。 透明などで見えなくしていて、という手法も配置のデザインが細かく決まっている場合などは有効ですね。 目的に向かってもっとシンプルに考えないと駄目ですね。 これでいけそうです。ありがとうございました。

関連するQ&A