触摸无边界的精灵盒子
问题描述:
所以我试图在屏幕上同时移动多个精灵。问题是,如果2个精灵彼此靠近,位置变得相同(所以边界框是相同的),我似乎无法将它们拉开。触摸无边界的精灵盒子
我使用的是“标准”CGRectContainsPoint(sprite1.boundingBox,location)
。
我需要的是让精灵在顶部而不管boundingBox。有任何想法吗?
答
hah..i固定在可能的最简单的方法:\
if (CGRectContainsPoint (sprite1.boundingBox,location)){
sprite1.position=location;
}else if (CGRectContainsPoint (sprite2.boundingBox,location)){
sprite2.position=location;
}
这种行为的方式是,如果边界框是same..it只需要one..not:第二个
答
一种方法是使用CCNode
的-(void) addChild: (CCNode*)node z:(NSInteger)z
方法开始将显式z值分配给您添加的精灵。
然后,当您从边界测试中获取多个精灵时,只能移动z值最大的精灵。
你的回答给了我这个想法如何解决它..所以它不是技术上的答案..但在任何情况下,好建议:) thx – skytz
@skytz这绝对是技术上的答案,只是不是你接受的答案,这是完全精细! =)很高兴它以某种方式帮助。 – MechEthan
我的意思是,它不是我正在寻找的答案...... :) – skytz