0

我正在制作一个游戏,并希望以这样的方式显示分数,如果我的分数为 0 并增加 10,那么分数应该从 0 到 10 的所有数字递增。达到新分数后,它应该停下来,至少停顿一下。

如果分数再次增加 10,记分牌应该从 10 增加到 20,然后再次停止。

我曾尝试使用处理程序,但无法以任何方式让它们暂停或停止。

视频中的示例演示了我要完成的工作。如果您查看右上角的记分牌,您会看到分数不断增加。如果上述链接不起作用,这是网址:http ://www.youtube.com/watch?v=NdZ8YupmEmA&feature=fvwrel

这是我的 Runnable 增加分数的代码。

final Handler mHandler=new Handler();
    mRunnable=new Runnable() {

        public void run() {
            String s = null;
                   ++i;
                   s= new Integer(i).toString();    
                   tv.setText(s);
                   mHandler.postDelayed(mRunnable,1000);       

                }

        /*protected void onStop() {
            mHandler.removeCallbacks(mRunnable);
        }*/
    };

    mHandler.postDelayed(mRunnable,1000);

我特别需要的是如何让代码停止计数。

4

1 回答 1

0

您可以简单地打印 2 个端点之间的所有数字。说:

int counter = 0;
while(counter%10 != 0)
{
textView.setText(counter.toString());
counter++;
}

然后再次继续循环,这次只是从 11 开始,而不是 0。

我不确定它是否会如您所愿,就像在您的 Temple Run 示例中一样。我想加一点sleep(),但是昨天有人建议我不要sleep()在 Android 开发中使用方法。

编辑:

好的。本教程似乎很容易处理。您可以使用Handler(正如您可能猜到的那样)将相同的逻辑应用于您的分数显示机制。

于 2012-06-10T12:58:51.737 回答