私はいつもこのように、コンタクトリスナーを使用します。コンタクトリスナー、誰が誰にタッチ?
b2Body *bodyA=contact.fixtureA->GetBody();
b2Body *bodyB=contact.fixtureB->GetBody();
.
.
CCSprite *actora = (CCSprite*)bodyA->GetUserData();
CCSprite *actorb = (CCSprite*)bodyB->GetUserData();
.
.
if ([actora tag] == 6 && ([actorb tag]== 4 || [actorb tag]== 5) ) // question !!
//do stuff here
今私は私の自己は常にactora、誰bが誰であるかを推測してみてください見つけます。 は、ある身体が飛んでいて、別の身体に当たっていると言うことができます。ときどき打たれた身体はaであり、他方はbであり、逆も同様である。
私はすべての条件をチェックしたくないし、それを知るアルゴリズムを知りたがっています。 私はスクリーンの最初のボディにa(最初に定義されたスプライト)が得られると考えていました。 それが間違っていると分かりました。:)
だから、どのように私は/ bの誰が知っていますか? (ランダムですか?)
ありがとうございます。
があなたを手に入れました。しかし、リスト上を移動するときに何らかのルーチンがあることは確かです。たとえば、最初に作成された場所が常に最初に呼び出されたことがあります。誰かが書いたそのクラスについて考えてみると、ある条件で誰が最初に呼び出されるのかを知るルールがあると確信しています。すでにそれが証明されています。 – Curnelious