
Код AS1/AS2:
var g_nStartTime:Number = getTimer();
var g_pElementsParameters:Array = Array(70);
var g_nLoading:Number = 0;
mcBranchMask1.m_nStartPos = mcBranchMask1._x;
mcBranchMask2.m_nStartPos = mcBranchMask2._x;
for (nIndex:Number = 1; nIndex < 69; ++ nIndex)
{
g_pElementsParameters[nIndex] = 1;
this["mcElement" + nIndex]._visible = false;
}
mcButterfly._visible = false;
this.onEnterFrame = function()
{
// вычислить максимальный номер видимого элемента
var nMaxIndex:Number = Math.ceil(69 * g_nLoading / 100);
// отрисовать видимые элементы
for (nIndex:Number = 1; nIndex < nMaxIndex; ++ nIndex)
{
this["mcElement" + nIndex]._xscale = g_pElementsParameters[nIndex];
this["mcElement" + nIndex]._yscale = g_pElementsParameters[nIndex];
if (g_pElementsParameters[nIndex] < 100)
g_pElementsParameters[nIndex] *= 1.2;
else
g_pElementsParameters[nIndex] = 100;
}
// вывести процент загрузки
txtLoading = ((Math.ceil(g_nLoading) < 10) ? ("0") : ("")) + ((g_nLoading < 100) ? (Math.ceil(g_nLoading)) : ("100")) + "%";
// вычислить текущею степень загрузки сайта
var nTimeLoading:Number = (getTimer() - g_nStartTime) / 100;
var nFramesLoading:Number = Math.ceil(100 * getBytesLoaded() / getBytesTotal());
g_nLoading = nFramesLoading;//(nTimeLoading < nFramesLoading) ? (nTimeLoading) : (nFrameLoading);
if (g_nLoading >= 100)
{
for (nIndex:Number = 1; nIndex < nMaxIndex; ++ nIndex)
{
if (g_pElementsParameters[nIndex] != 100)
return;
}
mcButterfly._visible = true;
delete onEnterFrame;
_root.gotoAndPlay(2);
}
// отрисовать ветки
mcBranchMask1._x = mcBranchMask1.m_nStartPos + mcBranchMask1._width * g_nLoading / 100;
mcBranchMask2._x = mcBranchMask2.m_nStartPos + mcBranchMask2._width * g_nLoading / 100;
// отрисовать элементы веток
for (nIndex:Number = 1; nIndex < nMaxIndex; ++ nIndex)
this["mcElement" + nIndex]._visible = true;
}