Как проверить, виден ли спрайтовый объект? - PullRequest
0 голосов
/ 19 декабря 2010

У меня есть классы Array of Sprite с этими методами: x, y, width и height.Они отсортированы по его z свойству.Последние находятся на вершине.У меня тоже размер экрана.Как узнать, виден ли конкретный спрайт?

1 Ответ

2 голосов
/ 19 декабря 2010

Самый простой способ «заставить это работать» - это рендерить в обратном 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
...