0

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

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

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

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

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

1 回答 1

0

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

于 2013-09-20T17:40:32.557 回答