Да, не беспокойтесь. Я считаю, что вам просто нужно изменить свои активы и просто определить:
float deviceScale
И вы можете легко проверить в своем приложении Delegate, на каком устройстве работает программа:
NSString *deviceType = [UIDevice currentDevice].model;
NSLog(@"deive name is %@",deviceType);
if([deviceType isEqualToString:@"iPad"] || [deviceType isEqualToString:@"iPad Simulator"] ){
[[CCDirector sharedDirector] setContentScaleFactor:1];
} else {
if([[UIScreen mainScreen] respondsToSelector:NSSelectorFromString(@"scale")])
{
if ([[UIScreen mainScreen] scale] < 1.1){
[[CCDirector sharedDirector] setContentScaleFactor:1];
}
if ([[UIScreen mainScreen] scale] > 1.9){
//retina display
[[CCDirector sharedDirector] setContentScaleFactor:2];
}
}
else {
[[CCDirector sharedDirector] setContentScaleFactor:1];
}
}
Как я уже говорил ранее, вам может понадобиться переменная 'deviceScale', для retina / ipad сделайте ее deviceScale = 1 для всех остальных deviceScale = 0.5. Затем уменьшите изображения, если устройство не на сетчатке или iPad.