检查占用的网格元素

时间:2011-06-03 23:52:30

标签: actionscript-3 grid

我创建了一个存储在Array1中的sprite的可视网格。 其中一些精灵上面放了一个图像。 现在我想在空的网格元素上拖动另一个图像。 特殊情况: 放置几个图像同时被拖动。 因此,拖动容器还保存那些拖动图像的Array2。 只要鼠标上升,Array2的图像就应该放在Array1的空网格元素上。

我的问题:如何检查Array1的精灵是否被占用? 在拖动多个图像时,每个图像应放置在前一个图像元素下方(y轴向下)。在这个过程中,您可能会将图像放置在空的网格元素上,但由于多个图像放置在彼此之下,因此可以占用下一个网格元素,因此当前放置的图像应放置到下一个自由网格元素

1 个答案:

答案 0 :(得分:0)

如果网格的第一个Sprite已经有一个图像,那么让我们在第i个地方创建一个布尔数组(让我们把它boolarr)。true。否则boolarr[i]false。您应该将boolarr存储在网格类中,并在每次添加图像时更改它。

所以,这是可能的解决方案。我们在i处放置了几张图片。让我们找到下一个免费的spry

function getFreeSprites(n: int, i: position) {
    var result = [];
    while (result.length < n) {
        if (!boolarr[i]) result.push(i);
        i++;
    }

    return result;
}
函数返回的

数组将包含下n个精灵sprite的索引,之后你可以将图像附加到它们。

希望有所帮助!