我正在制作一个游戏,并希望以这样的方式显示分数:如果我的分数为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);
我特别需要的是如何让代码停止计数。
答案 0 :(得分:0)
您只需打印2个端点之间的所有数字即可。 说:
int counter = 0;
while(counter%10 != 0)
{
textView.setText(counter.toString());
counter++;
}
然后再继续循环,这次只从11开始,而不是0。
我不确定它会像你想要的那样工作,比如你的Temple Run例子。我想添加一些非常少量的sleep()
,但昨天我被建议不要在Android开发中使用sleep()
方法。
编辑:
确定。 This tutorial似乎很容易处理。您可以使用Handler
(正如您可能猜到的那样)将相同的逻辑应用于您的分数显示机制。