संपादित करें: मैंने एक साफ, नई परियोजना बनाई है, लेकिन फिर भी यह काम नहीं कर सकती है। कृपया इसे डाउनलोड करें, देखने के लिए एक छोटा सा कोड है और संभवतः किसी पेशेवर के लिए आसान है या किसी को भी यह देखने के लिए दूरस्थ रूप से अनुभव है कि मैं क्या गलत कर रहा हूं। बस उस पूर्णांक को भेजने की कोशिश कर रहा है।खेल केंद्र - डेटा भेजना और प्राप्त करना
http://www.2shared.com/file/fPOCLlg5/gkTest.html
हाय
मैं अपने iphone खेल में खेल केंद्र मल्टीप्लेयर लागू करने के लिए कोशिश कर रहा हूँ और नमूने मैं एप्पल डॉक्स में हाथ में और तीसरे भेजने और डेटा प्राप्त करने के विषय में पार्टियों से है समझने में कोई परेशानी हो रही है।
किसी को यहाँ कृपया आधिकारिक एप्पल डॉक्स में कोड नमूने समझा सकते हैं तो कृपया: http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchesandVoice/MatchesandVoice.html#//apple_ref/doc/uid/TP40008304-CH10-SW4
या मुझे इस नमूना कोड के साथ मैं आपूर्ति की गई थी यह पता लगाने में मदद। यह एक पहले से बनाए गए वर्ग, भेजने और प्राप्त डेटा होगा के लिए यह से सभी खेल केंद्र कार्यों और एक नमूना को संभालने के लिए बनाया यह:
- (void) sendPosition
{
NSError *error;
PositionPacket msg;
msg.messageKind = PositionMessage;
msg.x = currentPosition.x;
msg.y = currentPosition.y;
NSData *packet = [NSData dataWithBytes:&msg length:sizeof(PositionPacket)];
[match sendDataToAllPlayers: packet withDataMode: GKMatchSendDataUnreliable error:&error];
if (error != nil)
{
// handle the error
}
}
और प्राप्त:
- (void)match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID
{
Packet *p = (Packet*)[data bytes];
if (p.messageKind == PositionMessage)
// handle a position message.
}
मेरे लिए इस कोड के बारे में बड़ा सवाल आधिकारिक दस्तावेज़ बनाएं:
PositionPacket
/Packet
कहां से आता है? और यह सोचते हैं जब आप भेजें/आप उन्हें तो जैसे फोन डेटा प्राप्त करना चाहते हैं:
[self sendPosition];
या
[self match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID];
क्या मैं मैच, डेटा और playerID के रूप में प्रवेश करते हैं?
उदा। मेरे पास 'स्कोर' नामक एक int है लेकिन क्या कोई विशेष कुंजी नहीं है जिसे मुझे कुछ उपयोग करने की ज़रूरत है?
यह बहुत अच्छा है, बहुत बहुत धन्यवाद! अधिक समझ में आता है, हालांकि 'मैच' के लिए यह सिर्फ एक नया जीकेमैच है जिसे मैं घोषित कर सकता हूं या इसे किसी विशिष्ट स्थान से होने की आवश्यकता है? –
इस विधि के मामले में, मैच आपके पास पास हो जाता है। मुझे संदेह है कि साधारण मामले में (यानी एक समय में केवल एक ही गेम चल रहा है) कि आपको इन तरीकों से इसके बारे में चिंता करने की ज़रूरत नहीं है/इसके साथ कुछ भी करने की आवश्यकता नहीं है। यदि आप आम तौर पर मैचों पर अधिक जानकारी की तलाश में हैं, तो वे मैचमेकिंग सेवा से आते हैं। विवरण यहां: http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchesandVoice/MatchesandVoice.html#//apple_ref/doc/uid/TP40008304-CH10-SW9 – ipmcc
मैं समझता हूं कि प्राप्त डेटा विधि हमें जीकेमैच 'मैच' देती है लेकिन प्रेषण विधि में 'मिलान' कहां से आती है? –