Итак, я ищу, чтобы коснуться определенного спрайта, который является дочерним элементом другого, который является дочерним узлом узла. Конструкция: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);
}
Теперь это должно работать, но оказывается, что т возвращает это BoundingBox как координаты по отношению к себе, а не измененный по его положению. Есть ли способ получить boundingBox таким образом, чтобы он проверял положение спрайта относительно узла, а не относился к самому себе?
Вы знаете, я забыл, что задал этот вопрос, потому что действие просьбы заставило меня задуматься, и я сам ответил сам. В любом случае, спасибо за это :) могут ли будущие люди найти этот ответ. –