0

我有这样的字符串:{{0,168},{20,20}},这里表示两点。我想让他们出来初始化我的 CCPoint。你们知道如何转换吗?

4

1 回答 1

1

一个简单的修复,如果你有特定格式的字符串:

    CGRect rect = CGRectFromString(@"{{0,168},{20,20}}");
    CGPoint point1 = CGPointMake(rect.origin.x, rect.origin.y);
    CGPoint point2 = CGPointMake(rect.size.width, rect.size.height);

如果您有更多并且想要获得它们,请使用:

NSString *string = @"{{0,168},{20,20},{20,20},{20,20},{20,20}}";
NSRange range;
range.length = string.length - 1;
range.location = 1;
//because you have commas everywhere you need to change it to a different separator
NSString *modString = [[string substringWithRange:range] stringByReplacingOccurrencesOfString:@"},{" withString:@"}#{"];

NSArray *pointList = [modString componentsSeparatedByString:@"#"];

for (NSString *str in pointList)
{
    CGPoint point = CGPointFromString(str);
    NSLog(@"%@",NSStringFromCGPoint(point));
}
于 2013-07-16T07:43:49.047 回答