我有一个包含这些方法的Sprite类数组:x
,y
,width
和height
。它们根据z
属性进行排序。最后一个是最重要的。我也有屏幕尺寸。我怎么知道特定的Sprite是否可见?
答案 0 :(得分:2)
“使其工作”的最简单方法是以反向Z顺序渲染。那是最接近的。
否则你有N ^ 2问题发现遮挡。您可以通过构建遮挡树来优化它。
另一种选择可能是深度测试缓冲区。
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