Здесь я проверяю наличие коллизий с помощью этой функции, затем она хорошо работает на обоих дисплеях.
- (CGPoint)tileCoordForPosition:(CGPoint)position
{
CGFloat scale = [[UIScreen mainScreen] scale];
NSLog(@"%f",map1.tileSize.height);
int y = ((map1.mapSize.height * map1.tileSize.height) - position.y*scale) / map1.tileSize.height+(map1.position.y *scale/map1.tileSize.height);
int x =-((map1.position.x *scale) / map1.tileSize.width)+(MainCharacter.position.x*scale/map1.tileSize.width);
return ccp(x, y);
}