0

cocos2d のポイントに少し混乱しています。私はユニバーサルゲームを持っており、ボディの位置をポイントで設定すると、すべてのデバイス (iPhone、iPhone HD、iPad、iPad HD) でうまく機能します。cocos2d サフィックスを使用して 4 つのサイズのテクスチャを作成しましたが、これもうまく機能します。

しかし、私は体 (b2CircleShape) を持っており、この円の m_radius を設定する必要があります。私はこの行を持っています:

b2CircleShape myDynamicBody;
myDynamicBody.m_radius=0.48;

値 0.48 は iPhone HD 用に最適化されており、iPhone (iPhone と iPhone HD) の両方でうまく機能しますが、iPad と iPad HD デバイスでは非常に小さいです。私は何をすべきか?デバイスのタイプを確認し、iPad が 1.33 で乗算されているのを見つけたら (1.33 で乗算しようとすると、両方の iPad で問題なく動作しました)。または、この問題を解決するためのより良い(または推奨される)方法はありますか?

アドバイスありがとうございます

4

1 に答える 1

1

iPadでポイントツーメーター(PTM_RATIO)を調整する必要があります。

「ポイント」の理由は、Box2dが0.1〜10メートルの物体の物理シミュレーションを実行するように調整されているためです。通常の物体は約1x1メートルです。これらのサイズ以外のボディでも機能しますが、信頼性は低くなります。

一方、解像度が最大320x480または1024x768の画面があります。したがって、スプライト表現をBox2dに適したサイズに変換する方法が必要です。このために、「ポイントツーメーター」比率(PTM)を使用します。

通常のスプライトが64x64の場合は、PTM比64を選択する必要があります。これにより、box2dは64x64スプライトを1x1として認識します。これは、シミュレーションを実行するのに理想的なサイズです。

これを説明したので、PTM_RATIOが電話とパッドのフォームファクター間で異なる理由は明らかです。解像度が異なるためです。iPhoneでは64x64のスプライトは、タブレットでは約128x128になります。

したがって、iPadでPTM_RATIOを取得するには、iPhoneでスプライトを選択し、iPadで対応するサイズを確認します。次に、iPhonePTMにこれら2つの画像のサイズの比率を掛けます。

于 2013-01-14T22:29:07.313 に答える