2012-05-13 15 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ある場合にのみ、第二1

one..notかかることである\
1

CCNode-(void) addChild: (CCNode*)node z:(NSInteger)zメソッドを使用して、追加するスプライトに明示的なz値を割り当てることが1つの方法です。

次に、境界テストから複数のスプライトを取得した場合、最大のz値を持つものだけを移動します。

+0

あなたの答えは私にそれを修正するアイデアを与えました..so..itは技術的な答えではありません。しかしどんな場合でも良いアドバイスがあります:) thx – skytz

+0

@skytzこれは間違いなく技術的には答えです。元気? =)何とか助けてくれてうれしいです。 – MechEthan

+0

私が言ったのは、それが私が探していた答えではないことです。:) – skytz

関連する問題