0

設計上の問題があります。これは、cocos2d と box2d をまだ完全に理解していないことが原因である可能性があります。

CCSprite (画像データ) と b2Body (物理) を持つゲーム オブジェクトを作成したいのですが、両方を含むカプセル化オブジェクトを作成してもよろしいですか? これを行うと、CCSprite に変更を加えることができるようになります

また

サンプルコードで見たように、b2Body にはスプライトが設定されている userData 変数があります。次に、このメソッドを使用すると、CCSprite を処理する物理オブジェクトへの単一のポインターのみが必要になります。

事前にThx。

4

2 に答える 2

1

私の好みの方法は、両方を Actor オブジェクトにカプセル化することです。私の Actor オブジェクトは、b2Body データに基づいて CCSprite の位置/回転を更新する役割も果たします。次に、その Actor オブジェクトを b2Body の userData として使用します。アクターを userData として持つと、コンタクト リスナーでボディを反復処理するときに役立ちます。

于 2010-08-11T21:11:42.233 に答える
1

簡単な解決策は、ボディの userData メンバーがスプライトを指すように設定し、スプライトの userData メンバーがボディを指すように設定することです。このようにして、簡単かつ便利な方法で両方にアクセスできます。そうすれば、スプライト オブジェクトとボディ オブジェクトをアクターにカプセル化する必要もなくなります。

于 2010-08-12T18:13:29.630 に答える