Ну, у вас есть два решения:
Вспышка
Во Flash нарисуйте свой контур и отделите каждую линию, чтобы поместить его в мувиклип.Затем вы должны поместить каждый клип в отдельный слой (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]);
}
}
И вуаля!