2014-09-25 3 views
0

Я пишу верхнюю игру в стиле стиля. Когда мне нужно проверить intesection Разногласия между моей машиной и без физ объекта на моей сцене я сделать простой:skspritenode проверить пересечение только с дочерними узлами

CGRectIntersectsRect(car.frame,object.frame); 

я правильно работает, если я проверить объект на «елей уровне». Если у объекта есть ребенок, как я могу проверить пересечение только с ребенком? Я пытаюсь что-то вроде:

CGRect rectChild=[object childNodeWithName:@"childnode"].frame; 
CGRectIntersectsRect(car.frame,rectChild); 

Это не работает правильно, потому что CGRect возвращаемый childNodeWithName является относительно родителя, а не на сцене ... Там способ преобразовать это прямоугольник в координатах сцены?

ответ

0

Поиска по себе:

CGPoint positionInScene = [_worldNode convertPoint:[[object childNodeWithName:@"childnode"] position] fromNode:object]; 

С этим я могу retrive положения дочернего узла с сценой координат, а затем я могу воссоздать новый CGRect проверить перекрестки

Смежные вопросы