-1

我试图在单击一个数组时从一个数组中获取对象并将它们放入另一个数组中并尝试将它们显示在其他位置。

到目前为止,仅出于尝试目的,我正在尝试一个对象,但即使这样也效果不佳。物体消失得很好,但它们没有重新出现在舞台上。有人可以帮我吗?

function removeItemOnClick(in_event:MouseEvent):void
{

    var i:int = 0;
    for (i=0; i<socket_Array.length; i++)
    {

        if (socket_Array[i] == in_event.target)
        {

            trace("it goes here");
            socket_Array[i].visible = false;
            trace(socket_Array );
            var removed = socket_Array.splice(i,1);
            trace(removed);
            removedItem[removedItem.length] = removed;
            removedItem_placement();
            updateDisplay();
        }
    }
}

function removedItem_placement()
{
    var i:int = 0;
    for (i=0; i < removedItem.length; i++)
    {

        trace("The removed Item x is " + removedItem [i].x );
        trace("The removed Item y is " + removedItem [i].y );
        trace("The removed Item visibility " + removedItem [i].visible );
        trace("The removed Item " + removedItem);
        removedItem[i].visible = true;
        removedItem[i].x = 0;
        removedItem[i].y = 0;
        trace("The removed Item x is " + removedItem [i].x );
        trace("The removed Item y is " + removedItem [i].y );
        trace("The removed Item visibility " + removedItem [i].visible );

    }
}
4

1 回答 1

0

请注意,removed 是 Array 类型,因为 Array.splice 将 Array 作为返回类型。removedItem 也是一个数组,所以你几乎不能做 assignment removedItem[removedItem.length] = removed;

试试吧removedItem.concat(removed);

我还建议break在 updateDisplay() 之后添加一条语句,因为一次只能有一个匹配元素。

于 2013-06-18T08:11:02.307 回答