在iphone中交换位置信息+游戏中心

时间:2012-09-27 08:35:24

标签: iphone ios game-center gamekit

我想通过游戏中心在游戏的其他玩家之间交换玩家的当前位置信息。 我经历了this

但哪个班级可以帮助我进行位置转移? 请帮帮我。

1 个答案:

答案 0 :(得分:2)

-(void)sendData
{  
NSString *mystring=[NSString stringWithFormat:@"lat=22.810000log=71.477989user=%@",lp.alias];
    int myscore=20;
    NSError *error;
    NSData* data=[mystring dataUsingEncoding: [NSString defaultCStringEncoding] ];
    BOOL success = [match sendDataToAllPlayers:data withDataMode:GKPlayerStateConnected error:&error];
    if (!success) {
        NSLog(@"Error sending init packet:\n%@",error);
    }
}

用于发送数据 匹配是GKMatch的对象 并且为了接收数据,使用以下委托方法

- (void)match:(GKMatch *)theMatch didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID {    


    if (match != theMatch) return;
    NSString *string = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
    NSLog(@"Received String : %@",string);

    NSString* str_lat =[[[[string componentsSeparatedByString:@"lat="]objectAtIndex:1] componentsSeparatedByString:@"log="]objectAtIndex:0];


     NSString* str_long =[[[[string componentsSeparatedByString:@"log="]objectAtIndex:1] componentsSeparatedByString:@"user="]objectAtIndex:0];

    NSRange range = [string rangeOfString:@"user="];
    NSString *str_username = [[string substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];


    NSLog(@"str_lat%@",str_lat);
    NSLog(@"str_long%@",str_long);

    NSLog(@"str_username--%@",str_username);
}
相关问题