检查movieclip是否在另一个动画片段[AS3]内

时间:2011-04-21 22:40:51

标签: flash actionscript-3 actionscript

我需要帮助创建一个函数来检查movieclip是否在actionscript 3.0中的另一个movieclip中。我创建了一个名为MyImage的动画片段,由用户在名为BannerStage的另一个动画片段的顶部拖动。当用户停止拖动MyImage时,该函数应该返回true或false,如果MyImage在BannerStage中,则返回true;如果MyImage的所有角都在BannerStage之外,则返回false。

提前致谢。

编辑:

我的解决方案:

var inter = firstClip.getRect(this).intersection(secondClip.getRect(this));
if ((inter.width*inter.height) == 0) {
    return false;
} else {
    return true;
}

1 个答案:

答案 0 :(得分:3)

如果你想测试一个角落是否在另一个角落的所有角落,请尝试这个:

banner.getRect().containsRect(draggable.getRect());

// or the reverse

draggable.getRect().containsRect(banner.getRect());

如果它们位于相同的坐标空间,则可以正常工作。

如果你关心的只是任何的一部分重叠任何部分(但你不在乎是否完全包含另一个)那么一个简单的hitTestObject的工作原理。

draggable.hitTestObject(banner);
// or
banner.hitTestObject(draggable);