Игра Cocos2d для iPhone переходит в игру для iPad

Я потратил тысячи часов на одну из своих игр и только начал изучать материалы для iPad. Да ... не понимал, что весь CGSize size = [[CCDirector sharedDirector] winSize]; вещь была до сих пор.

Так что я в значительной степени облажался, верно? Нет смысла менять буквально 10 000 ccp координат?

Есть ли способ:

если iPad добавить или вычесть из ccp ​​для позиции, чтобы поместить все в центр

Я мог бы добавить это в каждую сцену.


person brilliantairic    schedule 23.01.2011    source источник


Ответы (2)


Да не беспокойтесь. Я считаю, что вам просто нужно изменить свои активы и просто определить:

float deviceScale

И вы можете легко проверить в своем appDelegate, на каком устройстве работает программа:

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.

person Asymptote    schedule 24.01.2011

Надеюсь, ваше приложение использует версию 0.99.5. 0.99.5 использует пиксели или что-то в этом роде .. Так что вы не облажаетесь. Он будет автоматически масштабироваться по соотношению .. Не беспокойтесь ..

person xuanweng    schedule 23.01.2011
comment
Я использую .99,5. Когда я запускаю его, спрайты выравниваются в основном в левом нижнем углу, а некоторые - повсюду. - person brilliantairic; 24.01.2011