我有一个cocos2d-x / box2d项目我希望PTM_RATIO的#define与ipod和ipad部署不同。如何在c ++中设置#define?
在搜索互联网后到目前为止,我已尝试将此代码放入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上测试时总是定义为false,而删除#ifdef则表示UI_USER_INTERFACE_IDIOM()是未声明的。
非常感谢帮助实现这一目标!
答案 0 :(得分:0)
试试这个:
#define PTM_RATIO ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ? 32.0 :16.0)
您还可以尝试为每个设备定义一些宏并使用它们。
e.g。
#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
你可以玩那个