2012-05-13 198 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