Cocos2d iphone Cocos2d-按位置删除child

Cocos2d iphone Cocos2d-按位置删除child,cocos2d-iphone,removechild,Cocos2d Iphone,Removechild,我在屏幕上的CCSprites上有一个编号,上面放置了CCNodes,并作为子项添加。如何根据触摸位置(或触摸精灵位置)删除CCNode子节点 我试图创建一个自定义方法(见下文),但不确定如何填写 -(void)removeChild:(CCNode*)node location:(CGPoint)location cleanup:(BOOL)cleanup; 是否可以使用内置方法指定位置 [self removeChild:(CCNode *)[node at location] clea

我在屏幕上的CCSprites上有一个编号,上面放置了CCNodes,并作为子项添加。如何根据触摸位置(或触摸精灵位置)删除CCNode子节点

我试图创建一个自定义方法(见下文),但不确定如何填写

 -(void)removeChild:(CCNode*)node location:(CGPoint)location cleanup:(BOOL)cleanup;
是否可以使用内置方法指定位置

[self removeChild:(CCNode *)[node at location] cleanup:(BOOL)cleanup]

您可以通过发送
boundingBox
消息来获取精灵的本地rect。然后用
CGRectContainsPoint
功能测试您的触摸位置。您应该记住的唯一一件事是,您需要转换坐标(例如,如果精灵是某个节点的子节点,那么它们的矩形将相对于它的(0.f,0.f)坐标,而不是相对于场景(0.f,0.f))。您还应通过发送
convertToGL:
消息将触摸位置转换为
CCDirector
共享实例

谢谢你提供的信息。我目前有一个CCSprite“\u selectedSprite”,它代表触摸的sprite,使用与您提到的设置类似的设置。不幸的是,我无法根据该位置移除一个孩子。为了解决我的问题,我使用了内置的“removeChildByTag”函数,并标记了构建在精灵上的所有节点。我必须手动声明创建的每一个精灵,但这个过程是有效的。