1
    public function resort():void {

        while (tickets.numChildren > 0) {
            tickets.removeChildAt(tickets.numChildren - 1);
        }

        for(var i:int = 0; i < ticketsBought.length; i++)
        {
            var t:TicketCard = ticketsBought[i] as TicketCard;
            tickets.addChild(t);

        }


    }

执行此函数后,门票在视觉上闪烁,但我不希望这样,有没有办法在不闪烁的情况下对舞台中的对象进行排序?

4

1 回答 1

1

我认为您可以使用该类的setChildIndex方法DisplayObjectContainer(请参阅文档)重新排序您的对象,而无需删除然后重新添加它们。

不幸的是,我目前无法对此进行测试,但我认为以下应该可行:

public function resort():void {

    for(var i:int = 0; i < ticketsBought.length; i++)
    {
        var t:TicketCard = ticketsBought[i] as TicketCard;
        tickets.setChildIndex(t, i);
    }
}
于 2013-06-07T10:39:05.777 回答