暂停游戏以显示分数

时间:2011-10-03 01:38:36

标签: java android

我是Android新手,我不知道如何解决这个问题。

我正在制作类似Pong的游戏,并且在得分之后,我想在暂停游戏的同时显示得分几秒钟。 我正在使用像这样的onDraw()方法:

public void onDraw(Canvas canvas) {
    canvas.drawColor(Color.BLACK);
    canvas.drawBitmap(_bitmapStore.get(R.drawable.batblue),bluebat.getX() - (_bitmapStore.get(R.drawable.batblue).getWidth() /2),bluebat.getY(),null);
    canvas.drawBitmap(_bitmapStore.get(R.drawable.ball),ball.getX() - (_bitmapStore.get(R.drawable.ball).getWidth() /2),ball.getY()-(_bitmapStore.get(R.drawable.ball).getHeight() /2), null);
    canvas.drawBitmap(_bitmapStore.get(R.drawable.batred),redbat.getX() - (_bitmapStore.get(R.drawable.batred).getWidth() /2),redbat.getY(),null);
    if(drawScore){
        canvas.drawBitmap(_bitmapStore.get(R.drawable.user),200,200, null);
        canvas.drawBitmap(_bitmapStore.get(R.drawable.cpu),400,200, null);
    }
}

我想让它画出几秒的分数,但不知道如何暂停。 我尝试了thread.sleep()方法,即使我知道它不推荐。但除了放慢比赛之外,它没有做任何事情。

只有在得分后才会显示图像,但游戏会继续在其后面运行。

1 个答案:

答案 0 :(得分:0)

我会将你的图纸从引擎中分离出来。如果您的引擎工作类似

for(Drawable d : engine.getComponentsToDraw()) d.draw(canvas);

你会基本上免费获得这个。显然这是抽象的:你可能有也可能没有Drawable接口。但这会让你在游戏中获得很大的力量。你没有一个变量来绘制得分,而是在列表中有一个对象(实际上可能是一个地图),它会在特定的时间后被添加和删除。