自機とTiledで設置した「オブジェクトレイアー」との間の「当たり判定」実装したいのですが、どうしても位置にズレが生じてうまくいきませんでしたので、この部分を調整しました。
具体的には以下のようなズレが生じました。
boundingBoxを使う
これは私のCGRectの出し方が悪いのが原因でした。(spriteやselfのwidth,heightで出していた。)
「オブジェクトレイアー」のCGRectを出すときにCCNodeクラスにある「boundingBox」を使うとうまくいきます。
1 2 3 4 5 6 7 |
CGRect myRect = self.boundingBox; if (CGRectIntersectsRect(myRect, playerRect)) { //当たり判定の時の処理を記載する。 } |
