2014-08-28 8 views
5

मैं सेब के एक्सकोड 6 बीटा 6 पर स्विफ्ट का उपयोग करके एक गेम बना रहा हूं, और गेम गेमर लीडर बोर्ड में अपने गेम का उच्च स्कोर जोड़ने की कोशिश कर रहा हूं। मैंने गेम सेंटर में लीडर बोर्ड बनाए हैं।गेमसेन्टर लीडरबोर्ड पर पोस्टिंग स्कोर

तो, मैं अपने उच्च स्कोर को कैसे जोड़ूं, जिसे मैंने एनएसयूसर डीफॉल्ट के रूप में सहेज लिया, मेरे गेम सेंटर नेता बोर्डों में?

मैं उपयोग करने की कोशिश:

GKScore.reportScore([highScore], withCompletionHandler: nil) 

लेकिन यह सिर्फ दुर्घटनाओं। आईओएस 8 में initLeaderboard func को बहिष्कृत कर दिया गया है, इसलिए मुझे यकीन नहीं है कि क्या करना है।

उत्तर

7

सबसे पहले आपको GKScore ऑब्जेक्ट बनाना होगा। फिर आप gkScore.value सेट करें। अंत में, आप स्कोर की रिपोर्ट करते हैं।

// if player is logged in to GC, then report the score 
if GKLocalPlayer.localPlayer().authenticated { 
    let gkScore = GKScore(leaderboardIdentifier: "leaderBoardID") 
    gkScore.value = score 
    GKScore.reportScores([gkScore], withCompletionHandler: ({ (error: NSError!) -> Void in 
     if (error != nil) { 
      // handle error 
      println("Error: " + error.localizedDescription); 
     } else { 
      println("Score reported: \(gkScore.value)") 
     } 
    })) 
} 
+0

मैं इस कार्यान्वित है, जो थोड़े यूट्यूब पर जारेड डेविडसन के ट्यूटोरियल के रूप में ही है, लेकिन मैं यह है कि मेरे अधिकतमअंक तदनुसार अद्यतन नहीं किया जा रहा है देखा। "ऑल टाइम" सुपर अपडेट नहीं हुआ है, क्या आप जानते हैं क्यों? धन्यवाद। – msqar

+0

मैंने थोड़ी देर में GameKit के साथ कुछ भी नहीं किया है। हालांकि, मुझे याद है कि सैंडबॉक्स खातों और लीडरबोर्ड के साथ समस्याएं हैं। परीक्षण करने के लिए एक से अधिक सैंडबॉक्स खाते का उपयोग करने का प्रयास करें। बेशक, सुनिश्चित करें कि लीडरबोर्ड इंडेंटिफायर सही है। –

+0

धन्यवाद, यह एक नया लीडरबोर्ड बनाने के बाद अब काम करता है, यह पूरी तरह से ठीक काम करता है! – msqar

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