cocos2d のデフォルトでは、CCSprite のアンカーポイントは ccp(0.5, 0.5) であり、スプライト位置の比較を変更します。ゲームループ内のスプライト間の相対距離を確認する目的で位置を比較すると、等値演算子は最適な選択ではないと思います。さまざまな位置状況、スプライトの移動ステップを準備するには、より大きい/より小さい方が適しています。
よりよく理解するために、たとえばスプライトの状況を含めました。
相対位置をチェックする (スプライトが他のスプライトのどちら側にあるかを検出する) には、衝突検出チェックでプログラムするさまざまな選択肢があります。
1)
if (CGRectIntersectsRect(sprite1.boundingBox, sprite2.boundingBox)) {
CGPoint diff = ccpSub(sprite1.position, sprite2.position)
if (diff.x<=0) {
// sprite1 is on the left side
} else {
// sprite1 is on the right side
}
}
2)
if (CGRectIntersectsRect(sprite1.boundingBox, sprite2.boundingBox)) {
if (sprite1.position.x <= sprite2.position.x) {
// sprite1 is on the left side
} else {
// sprite1 is on the right side
}
}