AS3使用建筑物轮廓作为预加载器

我想知道如何进行预加载器,以逐步显示建筑物轮廓。 谁能指出我正确的方向或指南?谢谢     
已邀请:
好吧,您有两种解决方案: 闪 在Flash中,绘制轮廓,并分隔每行以将其放入MovieClip。然后,您必须将每个剪辑放置在不同的图层上(Ctrl + A,右键单击->“分布到图层”)并对其进行排序。 在您的代码中,您必须隐藏每一行。
for (var iClip:int = 0; iClip < _house.numChildren; iClip++)
{
    _house.getChildAt(iClip).visible = false;
}
然后在您的代码中,您将有一个监听
ProgressEvent.PROGRESS
的函数,我们将其称为
onProgress
private function onProgress(event:ProgressEvent):void
{
    var totalClips:uint = _house.numChildren;
    var lastClipToShow:uint = Math.ceil(totalClips * event.bytesLoaded / event.bytesTotal);
    for (var iClip:int = 0; iClip < lastClipToShow; iClip++)
    {
        _house.getChildAt(iClip).visible = true;
    }
}
在此侦听器的每次调用中,您将显示从最深到总数的一小部分的每一行,与加载的数据量相匹配。 码 第二种解决方案将要求您以
Array
输入轮廓中每个线段的坐标。
private const HOUSEDATA:Array = [   [[0, 0], [10, 15]],
                                    [[25, 354], [32, 341]],
                                    [[321, 54], [78, 1]],
                                    [[534, 5], [23, 5]]
                                    ];
然后,再次在
onProgress
private function onProgress(event:ProgressEvent):void
{
    var totalSegments:uint = HOUSEDATA.length;
    var lastSegmentToShow:uint = Math.ceil(totalSegments * event.bytesLoaded / event.bytesTotal);
    graphics.lineStyle(1, 0x0000FF);
    graphics.clear();
    for (var iSegment:int = 0; iSegment < lastSegmentToShow; iSegment++)
    {
        graphics.moveTo(HOUSEDATA[iSegment][0][0], HOUSEDATA[iSegment][0][1]);
        graphics.lineTo(HOUSEDATA[iSegment][1][0], HOUSEDATA[iSegment][1][1]);
    }
}
和瞧!     

要回复问题请先登录注册