我对何时在我的应用程序中使用 CC_CONTENT_SCALE_FACTOR() 感到有点困惑。我使用 Box2D 进行碰撞检测,并制作了一个 b2Body 顶点。现在我应该将每个点仅除以 PTM_Ratio 还是除以 PTM_Ratio 乘以 CC_CONTENT_SCALE_FACTOR()?
如果我不处理像素,是否应该在我的应用中的任何地方使用 CC_CONTENT_SCALE_FACTOR()?我应该像这样只对 GLESDebugDraw 使用 CC_CONTENT_SCALE_FACTOR() 吗?
_debugDraw = new GLESDebugDraw( ptmRatio * CC_CONTENT_SCALE_FACTOR());
?
谢谢!
最佳答案
Box2D 世界不关心它以多少像素呈现。Box2D 完全不关心屏幕分辨率,因此无论您是否在 Retina 显示设备上,您都不会也不应该缩放任何内容.
目前只有一个方面您可能需要 CC_CONTENT_SCALE_FACTOR,那就是在使用 tilemaps 时。如果我没记错的话,tileset 的宽度和高度属性以像素为单位,而不是点数。因此,您需要除以 CC_CONTENT_SCALE_FACTOR 以获得正确的点数大小。不确定为什么 cocos2d 内部不这样做。
关于ios - 什么时候使用 CC_CONTENT_SCALE_FACTOR()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11200916/