【问题标题】:Want to Display time to the main view of a game?想要在游戏主视图中显示时间?
【发布时间】:2011-03-05 05:38:38
【问题描述】:

我目前正在为 Android 开发一个简单的游戏,主要动作发生在我的类 GameView 上,它只是 View 的扩展。

我想在我的 GameView 的左上角添加一些显示时间的文本,并且想知道实现此功能的最佳方式?

我用愚蠢的代码来显示

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

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

            invalidate();

    }

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

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

【问题讨论】:

    标签: android graphics view textview


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 2017-06-23
      相关资源
      最近更新 更多