Хотите отобразить время до основного вида игры? - PullRequest
1 голос
/ 05 марта 2011

В настоящее время я разрабатываю простую игру для Android, основное действие которой происходит в моем классе GameView, который является просто расширением View.

Я хочу добавить текст, показывающий время, в левом верхнем углу моего GameView, и хотел бы узнать, как лучше всего это реализовать?

Я использовал следующий код для отображения

public void onTick (long millisUntilFinished) { ВРЕМЯ = (int) (millisUntilFinished / 1000);

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

            invalidate();

    }

Но он не может отображаться правильно. Его переопределяет каждый шаг отсчета. Есть ли другой способ отображения времени?

Также я использовал просмотр текста. но не удалось установить ВРЕМЯ как текст в этом настраиваемом решении viewGive или в любом примере кода для отображения ....

1 Ответ

1 голос
/ 21 июля 2011

Эта статья поможет вам

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...