ゲーム レイヤーと、TestNode という子ノード (CCNode) を用意しました。TestNode にスプライト シートを追加し、このスプライト シートにいくつかの「ミサイル」を追加しました。今私の問題は、これらのミサイルとゲーム レイヤー内のオブジェクトとの衝突検出です。座標がおかしいように見えるからです。
私はミサイルの実装で次のものを持っています:
//first I get the Game layer
GameLayer *gL = (GameLayer *)self.parent.parent.parent;
//parent = spritesheet, spritesheet's parent = TestNode, TestNode's parent = Game layer
//Now I convert the coordinates of missile to Game Layer's node space
CGPoint realPos = [gL convertToNodeSpace:self.position];
これは大まかに私が自分のコードで行っていることです...そして機能していないようです! 私は TestNode でほぼ同じ衝突検出を行っており、完全に正常に動作しているようです。スプライトシートのせいですか?ここ数日苦労していますが、まったく機能しません。変更は、私が間違っていることのヒントをほとんど与えてくれません。つまり、あなたは私の最後の希望です...