2011年4月21日木曜日

Androidでゲーム ブロック崩し編                 7回目:同じブロック画像を複数並べる

ブロックを沢山並べる。

流れは、
定数を作り
      ↓
配列に入れる
      ↓
描画メソッドで設定
      ↓
runメソッドで呼ぶ

SurfaceViewを構成しているクラスファイルに、ブロックを設定しているクラスファイルを呼び出す。
インスタンスを作る変数を設定し、コンストラクタで以下のような物を作る。

複数処理用の定数を作る
private static final int NUM_BLOCK1=10;

インスタンスの変数
private Block1[] block1;

コンストラクタ内
block1=new Block1[NUM_BLOCK1];

そんで、for文を使用して、さらに設定をする
for(int i=0;i<NUM_BLOCK1;i++)
block1[i]=new Block1(10+(i%9)*32,50+(i/10)*16,this);

この、block1[i]=new Block1(10+(i%9)*32,50+(i/10)*16,this);
の引数はBlock1のコンストラクタに引数を設定して、
Xに何個、Yに何個並べるよって計算だけども、

このようなやり方じゃなくても、並べることが出来る。
for文を書かないで、インデックス番号を指定して配列を記述。
また、この場合、定数はいらない。
block1[0]=new Block1(50,50,this);
block1[1]=new Block1(100,100,this);
以下省略・・・・

ただ、今記述している定数は、10で済んでいるが、
これが30やら50となったら、目も当てられない。

これ以外にも、やり方はあるが、ステージ設定をしているわけでもないので、
今回はこれだけで行っている。

生成したところで、今度は描画メソッドに記述する。
ブロックを設定しているクラスファイルで作っている、描画メソッドを呼ぶ。
for(int i=0;i<NUM_BLOCK1;i++)
block1[i].draw(canvas);

あとは、runメソッドに描画メソッドを呼び出せば、画面に表示される。

完成画像























その他のブロック崩し関連

Androidでゲーム ブロック崩し編 1回目:画像の表示
Androidでゲーム ブロック崩し編 2回目:ボールの移動
Androidでゲーム ブロック崩し編 3回目:板画像のタッチ操作
Androidでゲーム ブロック崩し編 4回目:タッチ操作が出来る範囲と出来ない範囲を作る
Androidでゲーム ブロック崩し編 5回目:ボールと板の交差判定
Androidでゲーム ブロック崩し編 6回目:ボールとブロックの交差判定
Androidでゲーム ブロック崩し編 8回目:点数の文字列表示
Androidでゲーム ブロック崩し編 9回目:数字画像を使って点数の表示
Androidでゲーム ブロック崩し編 10回目:ブロックが壊れたらアイテムが出て来る
Androidでゲーム ブロック崩し編 11回目:ブロックに複数回ぶつけたら壊れるようにする
Androidでゲーム ブロック崩し編 12回目:数字画像を使って機数の表示と設定

0 件のコメント:

コメントを投稿