触摸没有boundingBox的精灵

时间:2012-05-13 18:22:34

标签: cocoa-touch cocos2d-iphone

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

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

我需要的是无论boundingBox如何都将精灵放在顶部。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

一种方法是使用CCNode的{​​{1}}方法开始为您添加的精灵分配显式z值。

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

答案 1 :(得分:0)

hah..i以最简单的方式修复:\

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

这种行为的方式是,如果边界框是相同的..只需要一个......不是第二个