AS3:检测在scrollRect中是否可以看到精灵?

时间:2009-08-21 16:14:00

标签: actionscript-3

我有办法“检测”特定精灵是否在scrollRect的可视区域内?

我在scrollRect中有一个缩略图列表,如果缩略图精灵在scrollRect中可见,我只想加载这些缩略图的图像。

关于如何完成这样的事情的任何提示或建议?

2 个答案:

答案 0 :(得分:2)

您可以随时使用

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

作为测试。基本矩形交叉点。

答案 1 :(得分:0)

我认为最简单的方法是检查两个矩形之间的重叠。您可以从任何DisplayObject获取带有以下内容的边界矩形:myObject.getRect():Rectangle或getBounds():Rectangle。然后,您可以针对重叠滚动矩形进行测试。

Rectangle上有一个原生重叠方法,(rect1.intersects(rect2)):Boolean。出于性能原因,我更喜欢使用自定义方法:

var overlap:Boolean =(r1.left< r2.right&& r1.right> r2.left&& r1.top< r2.bottom&& r1.bottom> r2.top);

祝你好运!