首页 文章

想要显示游戏主视图的时间吗?

提问于
浏览
1

我目前正在开发一款适用于Android的简单游戏,其主要操作发生在我的类GameView上,这只是View的扩展 .

我想在GameView的左上角添加一些显示时间的文字,想知道实现这个的最佳方法吗?

我使用了愚蠢的代码来显示

public void onTick(long millisUntilFinished){TIME =(int)(millisUntilFinished / 1000);

timeCanvas.drawText("time= "+TIME, 30, 30, timePaint);

            invalidate();

    }

但它无法正常显示 . 它覆盖每个计数增量 . 还有其他方法可以显示时间吗?

我也使用了文本视图 . 但无法将TIME设置为此自定义viewGive解决方案中的文本或任何显示的示例代码....

1 回答

  • 1

    This文章帮助你

    private Runnable mUpdateTimeTask = new Runnable() {
    public void run() {
       final long start = mStartTime;
       long millis = SystemClock.uptimeMillis() - start;
       int seconds = (int) (millis / 1000);
       int minutes = seconds / 60;
       seconds     = seconds % 60;
    
       if (seconds < 10) {
           mTimeLabel.setText("" + minutes + ":0" + seconds);
       } else {
           mTimeLabel.setText("" + minutes + ":" + seconds);            
       }
    
       mHandler.postAtTime(this,
               start + (((minutes * 60) + seconds + 1) * 1000));
    

    }};

    开始

    mHandler.removeCallbacks(mUpdateTimeTask);
    mHandler.postDelayed(mUpdateTimeTask, 100);
    

    停止

    mHandler.removeCallbacks(mUpdateTimeTask);
    

相关问题