1

まず、私の英語でごめんなさい、私はアメリカ人ではありません。私の質問は、どうすれば空間から形状とボディを削除できるかということです。これは衝突検出とは関係ありません。タッチイベントでこれをやろうとしています。具体的には、ボールをクリアしようとしています。タッチ(スペースにボールがたくさんあります)ですが、方法がわかりません。インターネットとそれを行う方法に関する助けを見つけることができません、すべてが衝突に関連していて、それは私が必要としているものではありません。

ドキュメントを何度も読みましたが、これを行うための有用な情報は含まれていません。衝突で削除する方法だけがあります。私は衝突で削除する方法を知っています:

static void postStepRemove(cpSpace * space、cpShape * shape、void * data){

//Remove the shape and body
cpSpaceRemoveBody(space, shape->body);
cpBodyFree(shape->body);
cpSpaceRemoveShape(space, shape);
cpShapeFree(shape);

}

static int collission(cpArbiter * arb、cpSpace * space、void * data){

     cpShape *a, *b;

 cpArbiterGetShapes(arb, &a, &b);

    cpSpaceAddPostStepCallback(space, (cpPostStepFunc)postStepRemove, a, nil);
    cpSpaceAddPostStepCallback(space, (cpPostStepFunc)postStepRemove, b, nil);
    return 0;
}
return 1;

}

これを衝突で使用しますが、衝突のない例が必要です。

4

1 に答える 1

-1

ライブラリのドキュメントを見つけて、いまいましいマニュアルを読んでください: Chipmunk物理学のドキュメント

cpBodyFreecpShapeFree必要なAPI呼び出しのようです。Cocos2dには、それらを呼び出す際にいくつかのバインディングがある可能性があります。これらの呼び出しについて詳しく知る必要がある場合は、Cocos2Dのドキュメントを見つけてください。

于 2010-07-25T07:18:08.613 に答える