スプライトが表示されているかどうかを自動的に判断する簡単なツールがCocos内にあるかどうかは疑問です。私は自分でロジックをまとめることができますが、Cocosにはすでにスプライトが表示されているか、別のスプライトの背後に隠れているかどうかを確認するための簡単なテストが組み込まれていればいいと思います。 Cocosは多くの場所でカスタムロジックの必要性を取り除く多くのツールを持っているので、これはそのツールセットの可能性が高いように思えますが、これまでの検索では何も見つかりません。スプライトが画面上に見えるかどうかを判断するためのCocosネイティブメソッド?
z
の設定がより高いすべてのスプライトのバウンディングボックスが問題のスプライトのバウンディングボックスを覆っているか隠しているかどうかをテストするのは簡単な場合です。
CGRectIntersectsRect(rect1, rect2);
を、次いでzオーダーを計算する:
'zOrder'(http://www.cocos2d-iphone.org/api-ref/latest-stable/interface_c_c_node.html#a21434541d824d49ea4e84019f1445727)のチェックと何か関係があるのだろうと思っていますが、 zOrder'はスプライトが何らかの形で関係している場合にのみ機能します(すべてが同じ親を持っている場合)。この議論からヒントを見つけました:http://www.cocos2d-iphone.org/forum/topic/6252 – summea
それは組み合わせですzオーダーのスプライトのバウンディングボックスと、より高いzオーダーのスプライトに関連するスプライトのバウンディングボックスです。 2つのスプライトは異なるz次数を持つことができますが、画面の異なる部分にある場合は両方が表示されます。 – johnbakers
複数のレイヤーを使用しているか、1つだけを使用していますか。 – Haroon