Я пытаюсь найти ближайшего «игрока» к «мячу», и каждый из этих объектов является объектами CCSprite.Это мое первое приложение, поэтому, если есть лучший способ сделать это, не стесняйтесь предлагать его:)
Вот мой код:
for(CCSprite *currentPlayer in players) {
// distance formula
CGFloat dx = ball.position.x - currentPlayer.position.x;
CGFloat dy = ball.position.y - currentPlayer.position.y;
CGFloat distance = sqrt(dx*dx + dy*dy);
// add the distance to the distances array
[distances addObject:[NSNumber numberWithFloat:distance]];
NSLog(@"This happen be 5 times before the breakpoint");
NSLog(@"%@", [NSNumber numberWithInt:distance]);
}
Так что, похоже, это работает хорошо;он регистрирует каждое расстояние игрока от мяча.Но затем, когда я перебираю свой массив «Расстояния», например:
for(NSNumber *distance in distances ) {
NSLog(@"Distance loop");
NSLog(@"%@", [NSNumber numberWithInt:distance]);
}
И каждый раз регистрируется огромное количество, например 220255312. Я объявляю свой массив расстояний следующим образом:
// setting the distance array
NSMutableArray *distances = [[NSMutableArray alloc] init];
Что я делаю не так?
Спасибо за ваше время!