我有一些拖放功能,其中有 8 个项目(dragArray)可以拖放到 2 个大“着陆区”(matchArray)上。但是由于我不希望它们彼此重叠,所以我制作了一个数组,在其中给定了它们的位置 (posArray)。
var dragArray:Array = [drag_1, drag_2, drag_3, drag_4, drag_5, drag_6, drag_7, drag_8];
var matchArray:Array = [drop_1, drop_1, drop_1, drop_1, drop_2, drop_2, drop_2, drop_2];
var posArray:Array = [{x:412,y:246},{x:530,y:218},{x:431,y:186},{x:470,y:152},{x:140,y:111},{x:108,y:162},{x:179,y:210},{x:113,y:254}];
当所有 8 个项目都被丢弃时,会出现一个检查按钮,我想检查它们是否被丢弃到正确的大着陆区。我尝试使用以下内容:
if (posArray[i].x != dragArray[i].x || dragArray[i].y != posArray[i].y )
但是,不仅着陆区必须匹配,而且位置也必须匹配。
当我使用
if (matchArray[i].x != dragArray[i].x || dragArray[i].y != matchArray[i].y )
它不起作用,因为 (dragArray) 项目的位置与 (matchArray) 着陆区域的注册点不匹配。
有没有办法检查前 4 个(drag_1、drag_2、drag_3、drag_4)项目是否与前 4 个 posArray 位置中的任何一个匹配,最后 4 个(drag_5、drag_6、drag_7、drag_8)是否与最后 4 个 posArray 中的任何一个匹配职位?