Cocos2d - 按位置删除Child

时间:2013-09-20 14:10:26

标签: cocos2d-iphone removechild

我在屏幕上有一个CCSprites上的数字,其上放置了CCNode,并作为子项添加。如何根据触摸位置(或触摸的精灵位置)删除CCNode子项?

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

 -(void)removeChild:(CCNode*)node location:(CGPoint)location cleanup:(BOOL)cleanup;

是否可以使用内置方法指定位置?

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

1 个答案:

答案 0 :(得分:0)

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