我在屏幕上有一个CCSprites上的数字,其上放置了CCNode,并作为子项添加。如何根据触摸位置(或触摸的精灵位置)删除CCNode子项?
我试图创建一个自定义方法(见下文),但我不确定如何填写它。
-(void)removeChild:(CCNode*)node location:(CGPoint)location cleanup:(BOOL)cleanup;
是否可以使用内置方法指定位置?
[self removeChild:(CCNode *)[node at location] cleanup:(BOOL)cleanup]
答案 0 :(得分:0)
您可以通过发送boundingBox
消息来获取精灵的本地矩形。然后使用CGRectContainsPoint
功能测试您的触摸位置。你唯一应该记住的,你需要转换你的坐标(例如,如果你的精灵是某个节点的子节点,那么它们的相对于它的(0.f,0.f)坐标,而不是相对于场景( 0.f,0.f))。此外,您应该通过发送convertToGL:
消息将您的触摸位置转换为CCDirector
共享实例。