2012-05-13 205 views
0

所以我试图在屏幕上同时移动多个精灵。问题是,如果2个精灵彼此靠近,位置变得相同(所以边界框是相同的),我似乎无法将它们拉开。触摸无边界的精灵盒子

我使用的是“标准”CGRectContainsPoint(sprite1.boundingBox,location)

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

回答

0

hah..i固定在可能的最简单的方法:\

if (CGRectContainsPoint (sprite1.boundingBox,location)){ 
sprite1.position=location; 
}else if (CGRectContainsPoint (sprite2.boundingBox,location)){ 
sprite2.position=location; 
} 

这种行为的方式是,如果边界框是same..it只需要one..not:第二个

1

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

然后,当您从边界测试中获取多个精灵时,只能移动z值最大的精灵。

+0

你的回答给了我这个想法如何解决它..所以它不是技术上的答案..但在任何情况下,好建议:) thx – skytz

+0

@skytz这绝对是技术上的答案,只是不是你接受的答案,这是完全精细! =)很高兴它以某种方式帮助。 – MechEthan

+0

我的意思是,它不是我正在寻找的答案...... :) – skytz