EDIT: He hecho un proyecto nuevo y limpio, pero todavía no puedo ponerlo en funcionamiento. Descárguelo, hay un pequeño código para mirar y probablemente sea fácil para un profesional o cualquier otra persona que experimente de forma remota ver lo que estoy haciendo mal. Estoy tratando de enviar ese número entero.Game Center - Envío y recepción de datos
http://www.2shared.com/file/fPOCLlg5/gkTest.html
Hola
Estoy tratando de poner en práctica centro de juego de varios jugadores en mi juego iphone y tener problemas para entender las muestras que tengo a la mano en la manzana Docs y procedente de terceros por el envío y recepción de datos.
Podría alguien explicar los ejemplos de código en la documentación oficial de Apple aquí, por favor: http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchesandVoice/MatchesandVoice.html#//apple_ref/doc/uid/TP40008304-CH10-SW4
O ayudarme a averiguar este código de ejemplo que se suministró con. Es una clase de pre-compilados, hecha para manejar todas las tareas centro de juego y una muestra de que para el envío y recepción de datos sería la siguiente:
- (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
}
}
y recibir:
- (void)match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID
{
Packet *p = (Packet*)[data bytes];
if (p.messageKind == PositionMessage)
// handle a position message.
}
Mi gran pregunta acerca de este código de los documentos oficiales es:
¿De dónde viene PositionPacket
/Packet
? Y suponiendo que cuando se quiere enviar/recibir datos se les llama así:
[self sendPosition];
o
[self match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID];
Qué puedo entrar como los partidos, datos y playerId?
E.g. Tengo una int llamada 'puntuación' pero ¿no hay una clave especial que necesito para usar algo?
Esto es genial, muchas gracias! Tiene mucho más sentido, aunque en cuanto al "partido", ¿es solo un nuevo GKMatch que puedo declarar o necesita ser de un lugar específico? –
En el caso de este método, la coincidencia se transfiere a usted. Sospecho que en el caso simple (es decir, un solo juego a la vez) que no necesita preocuparse por eso/hacer algo con él en estos métodos. Si busca más información sobre los partidos en general, provienen del servicio Matchmaking. Detalles aquí: http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchesandVoice/MatchesandVoice.html#//apple_ref/doc/uid/TP40008304-CH10-SW9 – ipmcc
Entiendo que la recepción El método de datos nos da la 'coincidencia 'de GKMatch, pero ¿de dónde viene' match' en el método sendScore? –