2014-05-20 112 views
0

我有以下代碼:毫秒計時器在cocos2d

-(void)update:(ccTime)delta { 
    totalTime += delta * 10; 
    currentTime = (int)totalTime; 
    if (myTime < currentTime) { 
    myTime = currentTime; 
     [timeLabel setString:[NSString stringWithFormat:@"Time: \n%i:%02i:%02i.%i", myTime/36000,(myTime/600)%60,(myTime/10)%60,myTime%10]]; 
    } 

} 

此代碼工作不錯,是有辦法雖然增加毫秒?如果是的話,可能我有它的千分之一的地方:1:23:45.678

+2

可能重複[獲得當前時間以毫秒爲單位的cocos2d](http://stackoverflow.com/questions/7027896/getting-current-time-in-milliseconds-cocos2d) – lucianomarisi

+0

我不知道到底如何這工作雖然,將工作與我有的代碼?一個答案說,三角洲(不乘以10)是毫秒,我敢肯定情況並非如此。你知道有沒有辦法通過乘以或劃分「myTime」來實現? – MRRPlatinum

回答

0

有沒有必要使用Cocoas2d爲此,只需使用標準的可可。的

@property CFTimeInterval startTime; // put this in your *.h file 

-(void)update:(ccTime)delta { 

    if (fabs(self.startTime - 0) < 0.1) { // if startTime is close to 0, set it to the current time (cannot do == comparisons with a CFTimeInterval) 
     self.startTime = CFAbsoluteTimeGetCurrent(); 
    } 

    CFTimeInterval timeSinceStart = CFAbsoluteTimeGetCurrent() - self.startTime; 
    int hours = floor(timeSinceStart/3600); 
    int minutes = floor(timeSinceStart/60) - (hours * 60); 
    double seconds = timeSinceStart - (hours * 3600) - (minutes * 60); 

    NSLog(@"%02i:%02i:%06.3f", hours, minutes, seconds); 

    [timeLabel setString:[NSString stringWithFormat:@"Time: \n%02i:%02i:%06.3f", hours, minutes, seconds]]; 
}