我需要幫助我試圖刪除一個不斷在不同位置重生的ccnode,並將它們添加到一個數組中,以獲得對這些精靈的控制,但事情是我不能刪除它們,它檢測到觸摸但沒有得到任何想法?這裏是我用來獲取節點的代碼。提前致謝。如何通過觸摸刪除CCnode?
- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
CGPoint location = [touch locationInView:[touch view]];
location = [[CCDirector sharedDirector] convertToUI:location];
for (CCNode *sprite in _spritesOnScreen) {
if (CGPointEqualToPoint(sprite.position, location)) {
[_spritesOnScreen removeObject:sprite];
[self removeChild:sprite cleanup:YES];
}
}
}
當您認爲觸摸是由單個指尖激活的所有點的某種幾何平均數時,獲得點匹配點的機率非常渺茫。最好檢查你所獲得的UITouch是否在蘋果的邊界框中。關於該主題的許多示例和問題。另外,在迭代數組時,您正在從_appleOnScreen中刪除。除非您按相反順序進行迭代,否則這將炸彈。 – YvesLeBorg 2014-09-24 02:39:32