Uma pergunta sobre como obter dados de plist e como deve ser layout
Esta é uma pergunta de acompanhamento em minhas primeiras consultas sobre recuperação de dados em plist. Agora eu consegui detectar os toques de usuários feitos na minha visão com chamadas de imagem aleatórias (graças ao phytonquick).
CGPoint currentTouchLocation = [currentTouch locationInView:self];
Estou tendo problemas agora em como comparar o valor que eu obtive dos toques de usuários feitos na imagem aleatória na visão para o salvamento dentro dos dados plist com o mesmo nome da imagem aleatória que os usuários tocam. Eu sei calcular a distância do toque para poder ajustar os pontos de vida.
-(CGFloat) distanceBetween: (CGPoint) point1 and: (CGPoint)point2
NSMutableDictionary *????? = [self loadDictionaryFromPList: @"?????"];
NSNumber *1stXCoordinate = [????? objectForKey:@"1stXCoordinate"];
NSNumber *1stYCoordinate = [????? objectForKey:@"1stYCoordinate"];
if (1stXCoordinate && 1stYCoordinate)
{
CGPoint 1stTouchLocation = CGPointMake([lastXCoordinate floatValue], [lastYCoordinate floatValue]);
CGFloat distanceBetweenTouches = [self distanceBetween: currentTouchLocation and: 1stTouchLocation];
if (distanceBetweenTouches < 20)
{
// do something here
NSLog(@"You hit it.");
}
}
Também não sei como devo construir meus dados plist. Eu li vários livros com amostra dele (como o "iphone 3 dev"), mas eu não consigo descobrir isso especialmente quando a maioria dos exemplos que vi são para fins de tableview. Isto é como eu layout meu plist:
randImage <-- callout array
p1.jpg <-- image represented by array
tap1 <-- Array
item 1 - x1 coordinate <-- Number
item 2 - y1 coordinate <-- Number
item 3 - x2 coordinate <-- Number
item 4 - y2 coordinate <-- Number
item 5 - x3 coordinate <-- Number
item 6 - y3 coordinate <-- Number
tap2 <-- Array
item 1 - x1 coordinate <-- Number
item 2 - y1 coordinate <-- Number
item 3 - x2 coordinate <-- Number
item 4 - y2 coordinate <-- Number
p2.jpg <-- image represented by array
tap1
item 1....etc
Alguém poderia me direcionar para o caminho certo sobre como devo fazer isso? Obrigado.