我正在使用 Cocos2D+Box2D 进行游戏开发。由于 Box2D 使用米而不是像素,我需要定义像素与米的比率。所以我在代码顶部定义了一个 PTM_RATIO:
define PTM_RATIO 32
但是 32 对于 iPhone<5 来说很好,对于其他设备我需要设置不同的数字。是否可以根据设备类型定义此比率?
我正在使用 Cocos2D+Box2D 进行游戏开发。由于 Box2D 使用米而不是像素,我需要定义像素与米的比率。所以我在代码顶部定义了一个 PTM_RATIO:
define PTM_RATIO 32
但是 32 对于 iPhone<5 来说很好,对于其他设备我需要设置不同的数字。是否可以根据设备类型定义此比率?
顺便说一句,您可以将代码中出现的所有 PTM_RATIO 替换为
[Box2DHelper pixelsToMeterRatio]
这样您就可以毫无问题地在 Retina 分辨率和正常分辨率之间切换。
查看文件 http://subversion.assembla.com/svn/oiram/trunk/GoLeft/GoLeft/Box2DHelper.mm
要了解 CC_CONTENT_SCALE_FACTOR,请查看何时使用 CC_CONTENT_SCALE_FACTOR()?
更新:例如,为 iPad 提供不同的 PTM
#define isIPad UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad
#define PTM_RATIO (isIPad ? 64 : 32)