重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

as3初心者です。
画像を規則的に並べたく苦戦しております。
画面いっぱいに縦○個、横○個という具合に。
以下、現状です。

for(var i:int=0;i<10;i++){
for(var j :int=0;j<5;j++){
var ball:MovieClip=new MovieClip();

ball.x=i*(30+10)+50;
ball.y=j*(30+10)+50;
addChild(ball);
}
}

調べた結果、beginFill~を使えばできたのですが
画像を使いたく、応用が利きません・・・

どなたかヒントもしくはアドバイスをいただけますでしょうか。
よろしくお願いいたします。

A 回答 (1件)

画像を使いたいと書かれましても


その画像がどこにあるどんな画像かがわからないため
具体的な方法やスクリプトは回答できませんね。

例えば
・その beginFill~ で描いた四角や三角なども画像と言えば画像です(ベクタ画像)。
・ステージ上に描いた絵も画像です(シェイプ,ベクタ画像)。
・スクリプトでビットマップ画像を描くことも可能です。
・ライブラリの中に読み込んだJPEGなどの写真も画像です(ビットマップ画像)。
・外部JPEGファイル(ビットマップ画像ファイル)をロードする場合もあるでしょう。
・外部SWFでも静止画であれば一般的にそれは画像になります。

何処にある何を表示させるのかによって
その方法も考え方自体も変える必要があることがわかると思います。


もし,
ライブラリにあらかじめ読み込んであるビットマップ画像を
ステージ上に呼び出すのでしたら
この辺が参考になると思います↓。

「F-site [AS3] ビットマップをダイナミックに配置する」
http://f-site.org/articles/2006/08/10205003.html


もし,
外部ビットマップファイル(JPEG/静止GIF/PNG)を
作成中のSWFにロードするのでしたら
この辺が参考になると思います↓。

「ADD CHILD = AS3 - Loaderクラスで外部ファイルから画像を複数読み込む[3-5]」
http://www.addchild.net/as3-beginner/ls3/337.html


その他,もし,もし,… と書いていたらきりがありませんのでこの辺で終わります。



==========

あと
ご質問で書かれているスクリプトの
> var ball:MovieClip=new MovieClip();
の部分や,
私が上で書いた2つ目のページの
> //Loaderオブジェクト生成
> var myLoader:Loader = new Loader();
の部分のように,
for文の中で,同じ参照変数名を持つインスタンスを複数作ると,
後々の管理ができなくなるので,
「配列アクセス演算子」などを使って,違う参照変数名を付けた方が良いように思います。
(単に「並べて終わり」でしたらそのままでも良いと思います。)
    • good
    • 0
この回答へのお礼

丁寧な解答ありがとうございました。
また抽象的なため解答が膨らみすいませんでした。

ちなみに画像とは
ライブラリにあらかじめ読み込んであるビットマップ画像
のことでした。

いただいた参考サイトをもとに解決できました。
かなりの時間を費やしてしまいましたが、、

アドバイス、どうもありがとうございました。

お礼日時:2010/12/12 23:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!