2014-09-25 35 views
0

我正在写一个自顶而下的风格的汽车游戏。当我需要检查intesection beetween我的车和非物理对象上我的场景我做一个简单:skspritenode检查与子节点只有交点

CGRectIntersectsRect(car.frame,object.frame); 

我正常工作,如果我检查了“杉杉水平”的对象。如果对象有一个孩子,我可以如何检查只有孩子的交集?我尝试类似:

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

它不能正常工作,因为childNodeWithName返回CGRect是相对父并没有到现场......有一种方法来此矩形到现场协调转换?

回答

0

查找自己:

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

有了这个,我可以retrive与场景中的子节点位置坐标,然后我可以重新创建一个新的CGRect检查交叉