2011年4月24日日曜日

Androidでゲーム ブロック崩し編                 9回目:数字画像を使って点数の表示

点数のカウントに数字画像を使って表示する

用意するものは、0~9の10個の数字画像と、0を10桁分表示している画像の計11枚。

まず、10個の画像を配列に入れる。
インデックス番号[0]~[9]を作成して、引数は、画像が入っているフォルダーを指定する
ファイル名の名前が可笑しいのは、打ち間違えた。
img1=new Bitmap[10];
img1[0]=BitmapFactory.decodeResource(r,R.drawable.cout00);
img1[1]=BitmapFactory.decodeResource(r,R.drawable.cout01);
以下省略

次に、描画処理をしているメソッドで、呼び出しと、桁上がりの計算を行うものを記述する
こんな感じ

//10桁の0だけの表示がされている画像を呼ぶ
canvas.drawBitmap(img0,10,100,null);

//動作する部分の表示設定
canvas.drawBitmap(img1[count%10],138,100,null);
canvas.drawBitmap(img1[count/10%10],122,100,null);
canvas.drawBitmap(img1[count/100%10],106,100,null);
canvas.drawBitmap(img1[count/1000%10],90,100,null);
以下省略

0だけを10桁分表示している画像の上に動作する部分の画像が重なるように
座標値の設定を行う。
そうしないと、ずれてしまう。

最後に、ブロックを壊したら、点数が加算するように設定する。
こんな感じの呼び出し用メソッドを作成した
public void set_count(int count) {
 this.count+=count;
}

そして、このメソッドを当たり判定処理のメソッドで呼び出せば使える。


※ブロックとボールの交差判定の調整や、ボールの動き等は調整していない。
ブロック1個壊したら、50点入るようにしている。


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

0 件のコメント:

コメントを投稿