1

我正在使用 Cocos2D+Box2D 进行游戏开发。由于 Box2D 使用米而不是像素,我需要定义像素与米的比率。所以我在代码顶部定义了一个 PTM_RATIO:

define PTM_RATIO 32

但是 32 对于 iPhone<5 来说很好,对于其他设备我需要设置不同的数字。是否可以根据设备类型定义此比率?

4

1 回答 1

2

顺便说一句,您可以将代码中出现的所有 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) 
于 2013-03-25T16:28:48.897 回答