0

私は cocos2d でゲームをしています 私は多くのスプライトを持っています 私はこれでスプライトにタッチを使用しています

CGRectContainsPoint([[gameImages objectAtIndex:i] boundingBox], location)
CGPoint location = [touch locationInView: [touch view]];
    location = [[CCDirector sharedDirector] convertToGL: location];

しかし、スプライトに触れたときは削除する必要があります

[self removeChild:[gameImages objectAtIndex:bacvacIndexner[0]] cleanup:YES];

しかし、私はオブジェクト座標を使用しているため、タッチは機能し、子からそれを削除するとオブジェクトを削除できません。どうすればよいですか?なぜスプライトのタッチイベントを取得できるのですか? 座標法がないものはありますか?

4

1 に答える 1

1

コールバックを使用して、上位クラスがオブジェクトを削除するようにします。削除するクラス内:

[self.touchDelegate performSelector:@selector(removeMe:) withObject:self afterDelay:0.0f];
于 2011-08-18T22:08:49.007 に答える