所以我试图同时在屏幕上移动多个精灵。问题是,如果2个精灵彼此靠近,则位置变得相同(因此边界框是相同的),我似乎无法将它们分开。
我正在使用“标准”CGRectContainsPoint(sprite1.boundingBox,location)
。
我需要的是无论boundingBox如何都将精灵放在顶部。有什么想法吗?
答案 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;
}
这种行为的方式是,如果边界框是相同的..只需要一个......不是第二个