AS3: определить, является ли спрайт видимым в scrollRect? - PullRequest
0 голосов
/ 21 августа 2009

Есть ли способ «обнаружить», находится ли определенный спрайт в видимой области scrollRect?

У меня есть список миниатюр в scrollRect, и я хочу загружать изображения для этих миниатюр только в том случае, когда спрайт миниатюр виден в scrollRect.

Какие-нибудь советы или предложения о том, как сделать что-то подобное?

Ответы [ 2 ]

2 голосов
/ 21 августа 2009

Вы всегда можете использовать

if (Sprite.getBounds().intersects(scrollRect)) {
    //In view
}

в качестве теста. Основное пересечение прямоугольника.

0 голосов
/ 21 августа 2009

Я думаю, что самым простым способом было бы проверить совпадение между двумя прямоугольниками. Вы можете получить прямоугольник границ из любого объекта DisplayObject с помощью: myObject.getRect (): Rectangle или getBounds (): Rectangle. Затем вы можете проверить это по прямоугольнику прокрутки на перекрытие.

Для Rectangle существует собственный метод перекрытия (rect1.intersects (rect2)): Boolean. Я предпочитаю использовать собственный метод из соображений производительности, хотя:

var overlap: Boolean = (r1.left r2.left && r1.top r2.top);

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...