选中另一个框内的一个框

时间:2012-01-24 08:55:13

标签: actionscript-3 flex

我有拖箱box1和box2我想检查box1是否在box2内使用cordinates可以任何人帮助

4 个答案:

答案 0 :(得分:3)

使用可以使用下面的代码来检查movieclip是否相交

box1.getRect(this).intersects(box2.getRect(this))

如果相交,则返回true;如果失败则返回false

答案 1 :(得分:2)

您可以使用您的方框坐标定义Rectangle对象:

var coords1:Rectangle = new Rectangle(box1.x, box1.y, box1.width, box1.height);
var coords2:Rectangle = new Rectangle(box2.x, box2.y, box2.width, box2.height);

然后只需使用containsRect:Boolean方法:

coord2.containsRect(coord1)

答案 2 :(得分:1)

使用hittestobject方法检测碰撞

答案 3 :(得分:1)

我不确定你的盒子究竟是什么,但如果它们是用左上角坐标(x,y)和(宽度,高度)定义的某种矩形,那么

if ((box1.x >= box2.x)&&(box1.y >= box2.y)&&(box1.width <= box2.width-(box1.x-box2.x)&&(box1.height <= box2.height-(box1.y-box2.y))) {
    // box1 is inside box2
}

应该做的。

如果你的盒子是3D,那么你也必须对z和深度做同样的事情:

&&(box1.z >= box2.z)&&(box1.depth <= box2.depth-(box1.z-box2.z))