2010-10-06 12 views
7

मैं खेल केंद्र में स्कोर जमा करने के लिए नीचे दिए गए फ़ंक्शन का उपयोग कर रहा हूं। नीचे दिए गए कोड को कैसे संशोधित करें ताकि मैं केवल स्कोर भेज सकूं यदि यह पहले से सबमिट किए गए स्कोर से अधिक है? और मैं स्थानीय स्तर पर स्कोर बनाए रखना नहीं चाहता हूं। कोई मदद?आईफोन गेम सेंसर उच्चतम स्कोर जमा कर रहा है?

- (void) reportScore: (int64_t) score forCategory: (NSString*) category 
{ 
GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:category] autorelease]; 
scoreReporter.value = score; 
[scoreReporter reportScoreWithCompletionHandler: ^(NSError *error) 
    { 
    [self callDelegateOnMainThread: @selector(scoreReported:) withArg: NULL error: error]; 
    }]; 
} 

धन्यवाद।

संपादित करें: मैंने पाया है कि इसे केवल गेम सेंटर द्वारा ही संभाला जाता है ... केवल शीर्ष स्कोर गेम सेंटर एप पर प्रदर्शित होगा।

+0

पर का उपयोग कर

GKLeaderboard *query = [[GKLeaderBoard alloc] initWithPlayerIDs:[NSArray arrayWithObject:yourPlayerId]]; if (query != nil) { [query loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) { if (error != nil) // handle the error. if (scores != nil) // process the score information. }]; } 

में अधिक जानकारी प्राप्त पिछले स्कोर प्राप्त कर सकते हैं मुझे लगता है कि हमें अधिक जानकारी की जरूरत है। उदाहरण के लिए –

+0

। अगर मैं [माइक्लास रिपोर्टस्कोर: 1000 के लिए श्रेणी: @ "easymode"] कॉल करता हूं; अगली बार अगर मैं कॉल करता हूं [माइक्लास रिपोर्टस्कोर: 10 श्रेणी के लिए: @ "easymode"]; सबमिट किया गया स्कोर 10 नहीं 1000 होगा। तो पिछले अपलोड किए गए स्कोर को कैसे प्राप्त करें ताकि मैं केवल तभी अपलोड कर सकूं जब currentscore पिछले से अधिक हो। –

उत्तर

संबंधित मुद्दे