0

所以我试图同时在屏幕上移动多个精灵。问题是,如果两个精灵彼此靠近,则位置变得相同(因此边界框相同)并且我似乎无法将它们分开。

我正在使用“标准” CGRectContainsPoint(sprite1.boundingBox,location)

我需要的是让精灵在顶部,而不管boundingBox。有任何想法吗?

4

2 回答 2

1

一种方法是使用CCNode's-(void) addChild: (CCNode*)node z:(NSInteger)z方法开始为您添加的精灵分配显式 z 值。

然后,当您从边界测试中返回多个精灵时,只移动具有最大 z 值的精灵。

于 2012-05-13T18:29:40.697 回答
0

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

于 2012-05-13T18:37:19.967 回答