bmpBack=BitmapFactory.decodeResource(r, R.drawable.back);
bmpWood=BitmapFactory.decodeResource(r, R.drawable.wood);
}
public void initMovables() {
Random r=new Random();
for(int i=0;i<ballNumber;i++) {
int index=r.nextInt(32);
Bitmap tempBitmap=null;
if(i<ballNumber/2) { //如果是初始化前一半球,就从大球中随机找一个
tempBitmap=bitmapArray[3+index%3];
} else { //如果是初始化前一半球,就从小球中随机找一个
tempBitmap=bitmapArray[index%3];
}
//创建Movable对象
Movable m=new Movable(0, 70-tempBitmap.getHeight(), tempBitmap.getWidth()/2, tempBitmap);
alMovable.add(m); //加入列表中
}
}
public void doDraw(Canvas canvas) { //绘制程序中需要的图片等信息
canvas.drawBitmap(bmpBack, 0, 0,null);
canvas.drawBitmap(bmpWood, 0, 60,null);
for (Movable m : alMovable) { //遍历绘制每个Movable对象
m.drawSelf(canvas);
}
Paint p=new Paint();
p.setColor(Color.BLUE);
p.setTextSize(18);
p.setAntiAlias(true); //设置抗锯齿
canvas.drawText(fps, 30, 30, p); //画出帧速率字符串
}
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
}
@Override
public void surfaceCreated(SurfaceHolder arg0) {
if(!dt.isAlive()) {
dt.start();
}
}
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
dt.flag=false;
dt=null;
}
}