java别踩白块_别踩白块钢琴块源码

package com.orange.block.control;

import com.orange.engine.handler.timer.ITimerCallback;

import com.orange.engine.handler.timer.TimerHandler;

import com.orange.block.scene.GameScene;

import com.orange.block.util.LogUtil;

public class TimerTool {

private GameScene mGameScene;

private TimerHandler mTimerHandler;

/**当前经过的总毫秒数**/

private long millisPass = 0;

/**是否计时�?*/

private boolean isCountDowning = false;

/**多少毫秒累加一次计�?*/

private static long stepMillis = 83;

public TimerTool(GameScene pGameScene) {

this.mGameScene = pGameScene;

initTimerHandler();

}

// 初始化TimerHandler,设置为每隔stepMillis * 0.001f秒循环回调onTimePassed方法

private void initTimerHandler() {

mTimerHandler = new TimerHandler(stepMillis * 0.001f, true,

new ITimerCallback() {

@Override

public void onTimePassed(TimerHandler pTimerHandler) {

// 累加所经过的时间,并在界面上更新显示当前时�?

addMillisPass();

}

});

}

// 重置时间

public void resetTimer() {

millisPass = 0;

isCountDowning = false;

}

// 累加所经过的时间,并在界面上更新显示当前时�?

private void addMillisPass() {

millisPass += stepMillis;

mGameScene.getTimerText().setText(millisToTimer(millisPass));

}

// 获取当前经过的总毫秒数

public long getMillisPass() {

return millisPass;

}

// 把毫秒转化为一种分、秒、毫秒的文本显示模式字符�?

public String millisToTimer(long pMillisPass) {

String timer = "";

long min = pMillisPass / 60000;

long sec = (pMillisPass - min * 60000) / 1000;

String secStr = sec < 10 ? "0" + sec : String.valueOf(sec);

long millisec = pMillisPass % 1000;

String millisecStr = millisec < 100 ? "0" + millisec : String

.valueOf(millisec);

//LogUtil.d("pMillisPass--->"+pMillisPass+" millisecStr--->"+millisecStr);

if (min > 0) {

timer += min + ":";

}

timer += secStr + "." + millisecStr + "\"";

return timer;

}

// 注册mTimerHandler开始计�?

public void start() {

if (!isCountDowning) {

isCountDowning = true;

mGameScene.registerUpdateHandler(mTimerHandler);

}

}

// 反注册mTimerHandler停止计时

public void stop() {

mGameScene.unregisterUpdateHandler(mTimerHandler);

}

}



更多源码 | 好库简介 | 网站地图 | 帮助中心 | 版权说明

Copyright© 2009-2012 OKBASE.NET All Rights Reserved 好库网 版权所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值