Box2D缩放澄清

时间:2012-08-21 22:55:18

标签: ios cocos2d-iphone box2d scale ccsprite

我在我的应用程序中使用Box2D形状顶点,我已经实现了它:

b2Vec2 verts[] = {
            b2Vec2(-25.6f / PTM_RATIO) *scale, (50.7f / PTM_RATIO) *scale),
            b2Vec2(-20.6f / PTM_RATIO) *scale, (-48.0f / PTM_RATIO) *scale),
            b2Vec2(27.3f / PTM_RATIO) *scale, (-48.0f / PTM_RATIO) *scale),
            b2Vec2(21.5f / PTM_RATIO) *scale, (51.5f / PTM_RATIO) *scale),
            b2Vec2(-26.8f / PTM_RATIO) *scale, (49.8f / PTM_RATIO) *scale) };
        spriteShape.Set(verts, num);

现在显然我的顶点缩放到了缩放比例,即我的CCSprite的比例。现在我还必须缩放b2Body或其他东西吗?目前,我不是,我认为这就是为什么当我使用调试绘制时,我的尺寸是偏斜的。我不需要任何复杂的答案,只是一个是或否的问题。 :)

另外作为一个快速的问题,如果我有一个PLIST包含我的一个图像的顶点值,我是否需要一个仅适用于iPhone或iPhone和iPad的PLIST,或者所有4种可能性,视网膜和非-retina这两种设备?

任何人都可以澄清这个吗?

1 个答案:

答案 0 :(得分:1)

是。如果你缩放你的精灵(例如通过缩放属性),你也必须缩放Box2D形状。

由于Retina设备使用相同的屏幕尺寸(即Retina iPhone上的480x320点),因此Retina和非Retina设备只需要一种形状。事实上,除非你扩展iPad游戏的资产,否则你也可以在iPad和iPad Retina上使用相同的形状。