0
因此,我正在寻找触摸另一个孩子的特定精灵,这是一个节点的孩子。结构是当另一个精灵的孩子不保留相对位置时,CCSprites不保留相对位置
CCNode
CCSprite | tag = 1 | node local coordinate = 0, 0
CCSprite | tag = 2 | node local coordinate = 26.5, 133.5
我想检测何时触摸第二个CCSprite。所以,我标记它们像例子,在节点上,像这样
-(BOOL) touchIsInBoundingBox:(UITouch *) touch withEvent:(UIEvent *) event
{ //node local coordinates
CCSprite * s = (CCSprite *)[self getChildByTag:1];
CCSprite * t = (CCSprite *)[s getChildByTag:2];
CGPoint local = [self convertTouchToNodeSpace:touch];
return CGRectContainsPoint(t.boundingBox, local);
}
运行在触摸的方法现在,这应该工作,但事实证明是t返回它的boundingBox的作为相对于自身的坐标,而不是由其位置修改。有没有办法让边界框检查相对于节点的精灵的位置,而不是相对于它本身?
你知道吗,我忘了我曾问过这个问题,因为询问的动作让我思考,我自己回答。无论如何,谢谢你这个:)未来的人可能会找到这个答案。 –