0

私は自分のアプリで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のスケールである「scale」にスケーリングされます。ここで、b2Bodyなどもスケーリングする必要がありますか?現在、私はそうではなく、それがデバッグ描画を使用するときにサイズが歪む理由だと思います。複雑な答えは必要ありません。「はい」または「いいえ」の質問です。:)

また、簡単な質問として、画像の1つの頂点の値を含むPLISTがある場合、iPhoneまたはiPhoneとiPadだけ、または4つの可能性すべて、網膜と非網膜の両方のPLISTが必要ですか?デバイス?

誰かがこれを明確にすることができますか?

4

1 に答える 1

1

はい。スプライトをスケーリングする場合(たとえば、scaleプロパティを使用して)、Box2Dシェイプもスケーリングする必要があります。

Retinaデバイスは同じ画面サイズをポイントで使用するため(つまり、Retina iPhoneでは480x320ポイント)、Retinaデバイスと非Retinaデバイスに必要な形状は1つだけです。実際、iPadゲームのアセットをスケーリングしない限り、iPadとiPadRetinaでも同じ形状を使用できます。

于 2012-08-22T08:08:13.363 に答える