2013-06-25 3 views
0

У меня есть проект cocos2d-x/box2d. Я хочу, чтобы #define из PTM_RATIO отличался для развертывания ipod и ipad. Как мне настроить эту #define в C++?Создание #define PTM_RATIO для универсального приложения

До сих пор после поиска в Интернете я попытался поставить этот код в Objective-C файл

#ifdef UI_USER_INTERFACE_IDIOM 
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
#else 
#define IS_IPAD false 
#endif 
#define PTM_RATIO (IS_IPAD ? 32 : 16) 

Но IS_IPAD всегда определяет ложь при тестировании на Ipad, и удаление #ifdef говорит UI_USER_INTERFACE_IDIOM() не объявляется.

Помогите получить это, чтобы работать, будем признательны!

ответ

0

Попробуйте это:

#define PTM_RATIO ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ? 32.0 :16.0) 

Вы можете попробовать также определить некоторые макросы для каждого устройства и использовать их.

например.

#define IS_IPAD UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad 
#define IS_IPHONE UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone 
#define IS_IPHONE_5 (IS_IPHONE && IS_HEIGHT_GTE_568) 
// ... 
#define PTM_RATIO (IS_IPHONE_5 && I_IPAD) ? yesvalue : novalue 

Вы можете играть с этим