仅在几秒钟内显示对象

时间:2019-07-06 15:28:26

标签: java android

我正在制作一个Android游戏(只是为了学习一些东西)。您收集对象并为此获得积分。当玩家达到200点时,对象开始更快移动,背景发生变化等……就像下一个级别一样。但是当您达到那200点时,我想在屏幕上显示图像或文本(例如“ 2级”)大约2秒钟,但是我不知道如何。

我尝试使用计时器,但失败了。

我有一个“如果”声明

if (score >= 200) {
    frameLayout.setBackgroundResource(R.drawable.lvl2);  // background change

    // Make objects go faster
    collect_obj1 = Math.round(screenWidth / 57F); 
    collect_obj2 = Math.round(screenWidth / 33F);  
    critical_obj = Math.round(screenWidth / 42F); // If you hit this one = Game Over

    characterLvl1.setImageResource(R.drawable.characterLvl2);  // character change
}

1 个答案:

答案 0 :(得分:0)

尝试一下:

 long start_time = System.currentTimeMillis();
 long current_time = System.currentTimeMillis();
 long time_limit = 2000; // In milliseconds: this is the time you want to show the 
                         // object(2 sec)
 while(current_time - start_time) != 2000) {
    ShowObject(); //Here is where you show the object.
    current_time = System.currentTimeMillis();
 }

 HideObject(); //Hide the object after the while loop

应该可以。当然可以根据需要实现它,因为这不是有史以来最干净的代码。或者,如果您希望使用处理程序等来提高效率,请参见:

Link to another similar question on StackOverflow

编辑:使其变得更好一点。