Похоже, что он действительно реагирует на загрузку основного фильма, но (я предполагаю) к тому моменту, когда код загрузчика фактически запускает фильм, был загружен, именно поэтому он идет так быстро.
Если вы хотите подделать время загрузки, настройте таймер для запуска каждые 200 мс или около того и остановите его через 3 секунды (заставляя обновлять состояние загрузки по пути).
EDIT:
Это должно помочь вам установить интервальный таймер - см. Раздел «Делать что-то повторно с интервалами»:
http://flash -creations.com / замечания / actionscript_timersanddelays.php
(не забудьте очистить таймер, когда закончите!)
Или, поскольку вы запускаете этот код каждый кадр, вы можете использовать кадры документа в секунду в качестве временного интервала и сделать что-то вроде:
fps = ...
if (i * (1/fps) < 3)
{
loaded = (i * (1/fps)) / 3 * 100;
i++;
}
в функции.
EDIT:
Вот некоторый код, который использует таймер для увеличения индикатора выполнения. Чтобы запустить его, просто создайте новый файл Flash (ActionScript 2.0) и добавьте его в действия первого кадра.
////////////////////////////////////////////////////////
// set up the properties of the load-bar
////////////////////////////////////////////////////////
// set the width in pixels of the load bar
// and the X and Y coordinates it should start at
var loadBarWidth = 100;
var loadBarX = 200;
var loadBarY = 100;
////////////////////////////////////////////////////////
// set-up a timer to fake loading of the movie clip
////////////////////////////////////////////////////////
// set how often in milliseconds the timer should run
var repetitionPeriod = 100;
// set how long we want the timer to run (in milliseconds)
var timerLength = 3000; // 3000 milliseconds = 3 seconds
// varaible to hold how long we've been running
var runTime = 0;
// start the timer
var intervalHandle = setInterval(_root, "intervalCallback", repetitionPeriod);
// callback function to run every repetition period of the timer
function intervalCallback()
{
// add the latest inverval to the total we've run
runTime += repetitionPeriod
// if we've run the full amount of time
// then stop the interval timer
if (runTime >= timerLength)
{
clearInterval(intervalHandle);
}
// update our load bar
// Percentage to output on the percentage textbox
//per = Math.round(loaded) + "%";
// draw a line
this.lineStyle(1, frontLineColor);
this.setRGB(255,255,255);
this.moveTo(loadBarX,loadBarY);
this.lineTo(loadBarX + runTime/timerLength * loadBarWidth, loadBarY);
}