0

好的,这是我的问题,我已经制作了一个完整的游戏,菜单和帮助页面得分生活水平,但我无法让计时器正常工作,一开始我认为这是一个 if() 但我运行了它它会下降到快。

我已经使用android java(eclipse)制作了游戏,我会发布一些代码但我不确定你想看到哪些位,我现在java中的秒是毫秒所以50000/1000 = 50秒但我不知道如何为此,我查看了一些示例代码,但不确定它是如何工作的。

计时器是我制作的一个标签,出现在 AVD 上,atm 它只是说 50000 而没有做任何事情

我试着这样做

公共类计时器扩展了 CountDownTimer{

        public timer(long timer, long Interval) {

            super(timer, Interval);
            // TODO Auto-generated constructor stub
        }

        @Override
        public void onFinish() {
            // TODO Auto-generated method stub
            //canvas.drawText("GAME OVER", 200, 700, paint);

        }

        @Override
        public void onTick(long millisUntilFinished) {
            // TODO Auto-generated method stub

            realtime = (int) millisUntilFinished;

        }

    }
4

1 回答 1

2

游戏开始时保存系统时间并创建一个具有所需文本大小和颜色的新 Paint 实例。

    startTime = System.currentTimeMillis();
    text = new Paint();
    text.setColor(Color.RED);
    text.setTextSize(20);

要将文本绘制到 onDrow 方法内的画布/屏幕上,请执行以下操作。

    timeNow = System.currentTimeMillis();
    long timeToGo = 50 - (timeNow - startTime) / 1000;
    if (timeToGo >= 0) {
        canvas.drawText(Long.toString(timeToGo), 10, 25, text);
    }

这将在屏幕左上方放置一个红色倒计时计时器,从 50 开始倒计时。

于 2013-01-19T23:21:48.663 回答