|
楼主 |
发表于 2003-10-29 13:31:00
|
显示全部楼层
Re:可怜的暂停,可恶的时间,请版主和高手来帮忙
class myTimer
{
private:
int sTime;
int rTime;
int StepTime[10];
int ssTime[10];
public:
int GameStarTime(){
sTime=timeGetTime();
return sTime/1000;
}//返回游戏开始时间,单位秒。同时开始游戏计时。
int GameRunTime(){
rTime=timeGetTime()-sTime;
return rTime/1000;
}//返回游戏运行的时间,单位秒。
void TimeStar(int iTime,int sID)
{
if(ssTime[sID]!=-1)return;
StepTime[sID]=iTime;
ssTime[sID]=timeGetTime();
}
//开始计时,步长单位为毫秒。
bool TimeStep(int sID)
{
if(timeGetTime()-ssTime[sID]>StepTime[sID])
{
ssTime[sID]=timeGetTime();
return true;
}
else return false;
}
//是否达到一个计时步长,如果达到重新开始下一个计时。
void TimeEnd(int sID)
{
StepTime[sID]=-1; //停止此步长ID计时;清空当前步长计时器。
ssTime[sID]=-1;
}
};
计时函数编写成功了,把源码发来让大家提提意见,感谢版主告诉我的timeGetTime(),这个类可以实现10个计时器,使用的时候先把两个数组ssTime,StepTime值清成-1;
|
|