【问题标题】:Display Score In A Different Way in a Game在游戏中以不同的方式显示分数
【发布时间】:2012-06-10 12:50:38
【问题描述】:

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

如果分数再次增加 10,则记分牌应从 10 到 20 的每个数字递增,然后再次停止。

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

video 中的示例演示了我想要完成的工作。如果您查看右上角的记分牌,您会看到分数不断增加。如果上面的链接不起作用,这是网址: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);

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

【问题讨论】:

  • 这完全不清楚。
  • 我不知道我应该看到什么;它只是看起来像一个递增的数字。
  • @OliCharlesworth OP想要打印两个分数区间之间的所有数字,比如0到10。所以OP想要打印从0到10的所有数字,即1 2 3 4 5 6 7 8 9 10,应该全部显示出来。
  • @GursahibSahni 看看这个答案:stackoverflow.com/a/4428898/828625

标签: android


【解决方案1】:

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

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

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

我不确定它是否能如您所愿,就像在您的 Temple Run 示例中一样。本来想加一点sleep()的,但是昨天我被告知不要在Android开发中使用sleep()方法。

编辑:

好的。 This tutorial 似乎很容易处理。您可以使用Handler 将相同的逻辑应用于您的分数显示机制(您可能已经猜到了)。

【讨论】:

  • @GursahibSahni 如果这个答案对你有用,你应该投票并接受它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
  • 1970-01-01
  • 2011-11-10
  • 2015-02-02
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多