私はこれらのメソッドを持つSpriteクラスの配列を持っています:x
、y
、、height
です。それらは彼のz
プロパティに基づいてソートされます。最後は上にある。私は画面サイズも持っています。特定のスプライトが表示されているかどうかはどのように知ることができますか?スプライトオブジェクトが表示されているかどうかを確認するには?
0
A
答えて
2
「動作させる」最も簡単な方法は、逆Zオーダーでレンダリングすることです。それは最も近い最後です。
そうでなければ、N^2の問題があります。これを最適化するには、オクルージョンツリーを作成します。
もう1つのオプションは、バッファの深さテストです。
class Sprite
def occluded?(other)
# check collision in X and Y
# if they are colliding and self.z < other.z then self is partially or fully occluded
end
end
+1
しかし、この順序でレンダリングすると、オーバードローに問題があります。最初に描画する[z-culling](http://en.wikipedia.org/wiki/Z-buffering#Z-culling)を実行すると、完全に表示されていない描画を避けることができます。 (しかし、従来のz-cullingでは、ピクセル単位のアクセスが使用されていた可能性があります。 – Phrogz
関連する問題
- 1. NSWindowが表示されているかどうかを確認する方法
- 2. マーカーが表示されているかどうかを確認する(マップ) - マップボックス
- 3. ボタンが表示されているかどうかを確認するSelenium
- 4. セルが表示されているかどうかを確認する
- 5. ポイントが表示されているかどうかを確認する
- 6. div内に要素が表示されているかどうかを確認
- 7. ポップアップメニューが非アクティブになっているかどうかを確認する/ポップアップメニューが表示されているかどうかを確認する
- 8. システムダイアログが表示されるかどうかを確認する方法は?
- 9. VBAでワークシートのセルが表示/表示されているかどうかを確認する方法
- 10. UIViewControllerが表示されているかどうかを確認する良い方法はありますか?
- 11. JavaScriptでページがブラウザに表示されているかどうかを確認するには?
- 12. ポイントが表示されているかどうかを確認する際にNullreferenceExceptionが発生する
- 13. コンボボックスのドロップダウンリストが表示されているかどうかを確認する方法はありますか?
- 14. システムキャレットが表示されているかどうかを確認する方法はありますか?
- 15. 要素リフレッシュページが表示されるかどうかを確認する
- 16. NSWindowがMac OS X Lionで全画面表示されているかどうかを確認するには?
- 17. Twitter-bootstrap:ポップオーバーが既に表示されているかどうかを確認する方法は?
- 18. UITesting Xcode 7:XCUIElementが表示されているかどうかを確認するには?
- 19. UIViewControllerのビューが表示されているかどうかを確認するには?
- 20. 警告または確認がページに表示されているかどうかを検出する
- 21. ステータスバーがAndroidで表示されているかどうかを確認するには
- 22. JavaScript、ウェブサイトがレンダリングされ、画面に表示されているかどうかを確認します
- 23. どのタブページ(TabControl)が表示されているかを確認する方法
- 24. アイテムがデータベース列に複数回表示されるかどうかを確認
- 25. NestedScrollviewで画面に表示されるかどうかを確認する
- 26. 瞬間でも表示が表示されているかどうかを確認
- 27. indexPathのセルが画面上に表示されているかどうか確認してください。UICollectionView
- 28. UIPickerViewが表示されているかどうかを確認していますか? * if *条件?
- 29. ディレクトリが空であるかどうかを確認し、イメージが表示されていない場合はyes、デフォルトイメージが表示されている場合
- 30. クラスがあるセクションが表示されているかどうかを確認するjQuery
は、シナリオでスプライトを見えないようにする方法と、なぜコントロールしたいのかを説明しています。それは別のスプライトの後ろに(Zで)完全にあるからですか?それは画面の境界から外れているからですか?展開してください。 – tokland