0
私はゲームに多くのスプライトを持っていますが、それらはすべてb2worldのボディを持っています。私のスプライトの体が小さすぎる、と彼は動いているのでタッチを検出したときにcocos2dのtestPoint領域を拡張します。
currentPosition = [[CCDirector sharedDirector] convertToGL: currentPosition];
b2Vec2 locationWorld = b2Vec2(currentPosition.x/PTM_RATIO, currentPosition.y/PTM_RATIO);
for (b2Body* b = world->GetBodyList(); b; b = b->GetNext())
{
b2Fixture *bf1 = b->GetFixtureList();
if (bf1->TestPoint(locationWorld))
{
CCSprite *tempSprite = (CCSprite *) b->GetUserData();
if (tempSprite.tag==2 )
{
今、移動しながら、それに触れることは非常に困難であるので、私は変更する必要がありますし、タッチを検出するために、私は次の操作を行いますこのコードは、このスプライトの周囲にのワイドエリアも検出します。 テストポイントを+ - さらに50ピクセルに拡張するにはどうすればいいですか?
ありがとうございます。
ありがとう、しかし、彼らはそこに4行だけを書く、それは面白そうだ、あなたは私にそれの簡単な例を与えることができますか?私のやり方は良くない? – Curnelious
私の編集を見て、付属のBox2Dサンプルからコードサンプルを追加しました。彼らは学習のための素晴らしいリソースです。 – kasrak
ありがとう。 – Curnelious