所以我试图同时在屏幕上移动多个精灵。问题是,如果两个精灵彼此靠近,则位置变得相同(因此边界框相同)并且我似乎无法将它们分开。
我正在使用“标准” CGRectContainsPoint(sprite1.boundingBox,location)
。
我需要的是让精灵在顶部,而不管boundingBox。有任何想法吗?
所以我试图同时在屏幕上移动多个精灵。问题是,如果两个精灵彼此靠近,则位置变得相同(因此边界框相同)并且我似乎无法将它们分开。
我正在使用“标准” CGRectContainsPoint(sprite1.boundingBox,location)
。
我需要的是让精灵在顶部,而不管boundingBox。有任何想法吗?
一种方法是使用CCNode
's-(void) addChild: (CCNode*)node z:(NSInteger)z
方法开始为您添加的精灵分配显式 z 值。
然后,当您从边界测试中返回多个精灵时,只移动具有最大 z 值的精灵。
hah..i fixed in the easiest way possible :\
if (CGRectContainsPoint (sprite1.boundingBox,location)){
sprite1.position=location;
}else if (CGRectContainsPoint (sprite2.boundingBox,location)){
sprite2.position=location;
}
the way this behaves is that if the bounding boxes are the same..it only takes one..not the 2nd one