私は同時に複数のスプライトを画面上で移動しようとしています。問題は、2つのスプライトが互いに接近している場合、位置が同じになるため(境界ボックスが同じであるため)、それらを分離することができないということです。バウンディングボックスなしでスプライトに触れる
私は "標準" CGRectContainsPoint(sprite1.boundingBox,location)
を使用しています。
私が必要とするのは、boundingBoxに関係なくスプライトを上に置くことです。何か案は?
私は同時に複数のスプライトを画面上で移動しようとしています。問題は、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ある場合にのみ、第二1
one..notかかることである\CCNode
の-(void) addChild: (CCNode*)node z:(NSInteger)z
メソッドを使用して、追加するスプライトに明示的なz値を割り当てることが1つの方法です。
次に、境界テストから複数のスプライトを取得した場合、最大のz値を持つものだけを移動します。
あなたの答えは私にそれを修正するアイデアを与えました..so..itは技術的な答えではありません。しかしどんな場合でも良いアドバイスがあります:) thx – skytz
@skytzこれは間違いなく技術的には答えです。元気? =)何とか助けてくれてうれしいです。 – MechEthan
私が言ったのは、それが私が探していた答えではないことです。:) – skytz