Es sieht aus wie es zum Laden des Hauptfilms reagiert tatsächlich, aber (ich vermute) durch die Zeit der Loader-Code tatsächlich läuft der Film hat geladen worden, weshalb es so schnell geht.
Wenn Sie eine Ladezeit vortäuschen möchten, richten Sie einen Timer ein, der alle 200 ms oder so läuft und nach 3 Sekunden stoppt (dadurch wird der Ladezustand auf dem Weg aktualisiert).
EDIT:
Dies sollten Ihnen ein Intervall-Timer einrichten helfen - mit dem Titel finden Sie im Abschnitt „etwas wiederholt in Intervallen zu tun“:
http://flash-creations.com/notes/actionscript_timersanddelays.php
(nicht löschen vergessen der Timer, wenn Sie damit fertig sind!)
Oder, da Sie diesen Code jeden Frame ausführen, können Sie die Frames pro Sekunde des Dokuments als Ihr Zeitintervall verwenden und etwas wie tun:
fps = ...
if (i * (1/fps) < 3)
{
loaded = (i * (1/fps))/3 * 100;
i++;
}
in der Funktion.
EDIT:
Hier ist ein Code, der einen Timer verwendet einen Fortschrittsbalken wachsen. Um es auszuführen, erstellen Sie einfach eine neue Flash-Datei (ActionScript 2.0) und fügen Sie diese in die Aktionen des ersten Frames ein.
////////////////////////////////////////////////////////
// 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);
}
Ich habe in meiner Antwort Code für eine falsche Loader-Leiste hinzugefügt, die Sie testen könnten. Es sollte ziemlich einfach sein, es auszuprobieren. – paul