下記のコードは右から虫の画像が流れてくるようになっています ですが画像のバリエーションを増やすにはどうすればいいのでしょうか? 虫A 50% 虫B 20% 虫C 15% 虫D 10% 虫E 5% の確率で横から虫の画像をスクロールさせたいです package jp.example.musitori; import android.view.View; import android.content.Context; import android.graphics.Canvas; import android.annotation.SuppressLint; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; public class GameView extends View { ~~~略~~~ //虫の描画 private Bitmap[] musi = new Bitmap[2]; //虫のX,Y座標 private int musiX = 900; private int musiY = 0; //虫の移動量 private int musiVX = -20; //画面(Canvas)中央のX,Y座標 private int canvasCX; private int canvasCY; //コントラクタ public GameView(Context context) { super(context); ~~~略~~~ //虫画像をBitmapに変換して変数musiにぶち込む musi[0] = BitmapFactory.decodeResource(res, R.drawable.musi1); musi[1] = BitmapFactory.decodeResource(res, R.drawable.musi2); //プレイヤー画像をBitmapに変換して変数playerにぶち込む player = BitmapFactory.decodeResource(res, R.drawable.ami1); } @SuppressLint("DrawAllocarion") @Override public void onDraw(Canvas canvas){ //プレイヤー系 //画面(Canvas)中央のX,Y画像 canvasCX = canvas.getWidth() / 2; canvasCY = canvas.getHeight() / 2; //画面(Cancas)サイズに応じて背景画像を拡大 bgImage = Bitmap.createScaledBitmap(bgImage, canvas.getWidth() * 2, canvas.getHeight(), true); //playSceneメソッドを実行 playScene(canvas); } //playSceneメソッド public void playScene(Canvas canvas){ //画面(Cancas)に背景画像を描画 canvas.drawBitmap(bgImage, 0, 0, null); //虫のスクロール処理 //座標をmusiVXずつ移動 musiX += musiVX; //画面から全体が消えたら if(musiX < -musi[0].getWidth()){ //また右から musiX = canvas.getWidth(); //高さは画面上半分のランダムな位置 musiY = (int)Math.floor(Math.random() * canvasCY); } //画面に虫を描画 if(frameIndex > 1) frameIndex = 0; canvas.drawBitmap(musi[frameIndex++], musiX, musiY, null); //プレイヤーの初期X,Y座標 playerX = canvasCX - player.getWidth() / 2; playerY = canvasCY - player.getHeight() / 2; //画面(Canvas)にプレイヤーを描画 canvas.drawBitmap(player, playerX, playerY, null); } } 画像のアニメーションの処理は別のクラスに書いています もし提示が必要ならばご指示ください
↧