2010-12-18 3 views
0

게임에서 업적을 달성하려고하는데, 아이폰을 만들고 있지만 오히려 실패하고 있습니다.업적 잠금 해제 - GameCenter iPhone

게임 센터 코드를 시연하는 Apple 자신의 GKTapper 프로젝트 샘플에서 GameCenterManager.h 및 .m 및 AppSpecificValues.h 파일을 프로젝트에 복사했습니다. 내가보기에 업적과 리더 보드를로드하는 데 성공했습니다.

그러나 실제로 어떻게 성과를 달성 할 수 있는지 잘 이해할 수 없습니다. GameCenterManager를 사용하는 방법과 사용하지 않는 방법을 지적 할 수 있습니까?

감사합니다. 방금 성취 전화의 잠금을 해제하려면

[self reportAchievementIdentifier:indentifier percentComplete:percent]; 

이 :

답변

2
- (void) reportAchievementIdentifier: (NSString*) identifier percentComplete: (float) percent 
{ 
    GKAchievement *achievement = [[[GKAchievement alloc] initWithIdentifier: identifier] autorelease]; 
    if (achievement) 
    { 
     achievement.percentComplete = percent; 
     [achievement reportAchievementWithCompletionHandler:^(NSError *error) 
      { 
        if (error != nil) 
        { 
         // Retain the achievement object and try again later (not shown). 
        } 
      }]; 
    } 
} 

전화 같은이 방법

[self reportAchievementIdentifier:indentifier percentComplete:100.0]; 

당신은 계산에 대한 성과의 비율을 플로트를 사용할 수 있습니다 , 사용자가 100에 도달하면 업적은 해제됩니다.

또한이 작업을 수행 할 수 있습니다

[self reportAchievementIdentifier:indentifier percentComplete:((actualpoints/neededPoints)*100.0)]; 

neededPoints은 잠금 해제이 공적에 필요한 점을 의미한다. 예 : actualPoints = 300; neededPoints = 600;

그것은 계산 : 당신이에는 percentComplete = 100을 설정 한 경우 300/600 = 0.5 * 100 = 50 % Btw는

0

은 "완료"속성은 항상 적어도 동일한 세션 내에서 YES로 설정되어 있지 않습니다. percentComplete가 100으로 설정된 경우에도 게임이 여러 번 성과를 얻은 이유를 잠시 보냈습니다.