Ich habe ein Problem beim Laden von Bildern. Wo in, alle Bilder wurden zur gleichen Zeit geladen & wegen dieser alle Versionen IE Browser wurden gehängt. (Ich habe rund 100 Bilder geladen. Eine Gesamtgröße von 32,5 MB) Mozilla lief jedoch gut. Also beschloss ich, jedes Bild mit einem Preloader auf einmal herunterzuladen. Unten ist das Skript. Aber es scheint, als ob die Funktion LoadZones (Index: Nummer) erneut aufgerufen wird. und alle Bilder werden erneut geladen, was zu einem Absturz führt.Das gesamte Skript wird ausgeführt, bevor die Bilder geladen werden. In Action Script 2.0
//////////////////// Karten = 100; dropzones = 5; _root.loadstatus.cardcount.text = Karten; _root.loadstatus.dropzonecount.text = dropzones; _root.loadstatus.dropzonelabel.text = "Wird geladen ...";
var i:Number=0,j:Number=0,Exit1:Boolean=false,Exit2:Boolean=false;
LoadZones(i);
function LoadZones(index:Number)
{
if(_root.loadstatus.dropzonelabel.text != "Completed!")
{
var listener = new Object();
i = Number(index);
var zone:MovieClip=_root["dropzone" + String(i)];
pb1.target = zone._name;
// the onLoadComplete triggers when all objects are loaded and the progress bar fill animation ends
listener.onLoadComplete = function(evt) {
i++;
trace(pb1.target + "Load Complete!");
if(i < dropzones){
_root.loadstatus.dropzonestatus.text = i+1;
LoadZones(Number(i));
}else{
_root.loadstatus.dropzonelabel.text = "Completed!";
_root.loadstatus.cardlabel.text = "Loading...";
trace("call cards" + i);
LoadCards(j);
Exit1 = true;
return false;
}
}
if(Exit1 == false){
pb1.addEventListener("onLoadComplete",listener);
trace("LoadZones(index:Number): ------------- "+index);
zone.autoLoad = false;
zone.scaleContent = true;
zone.contentPath= "dropzone"+(i+1)+".jpg";
zone.load();
}
}
return;
}
function LoadCards(index:Number)
{
if(_root.loadstatus.cardlabel.text != "Completed!")
{
var listener = new Object();
j = Number(index);
var card:MovieClip=_root["card" + String(j) + "z"];
pb1.target = card._name;
// the onLoadComplete triggers when all objects are loaded and the progress bar fill animation ends
listener.onLoadComplete = function(evt) {
j++;
trace(pb1.target + "Load Complete!");
if(j < cards){
_root.loadstatus.cardstatus.text = j;
LoadCards(Number(j));
}else{
loadComplete();
Exit2 = true;
return false;
}
}
if(Exit2 == false){
pb1.addEventListener("onLoadComplete",listener);
trace("LoadCards(index:Number): ------------- "+index);
card.autoLoad = false;
card.scaleContent = true;
card.contentPath= "image"+(j+1)+".jpg";
card.load();
}
}
}
function loadComplete()
{
var k:Number =0;
_root.loadstatus.cardlabel.text = "Completed!";
DrawZones();
for (k = 0; k < dropzones; k++)
{
_root["dropzone" + k]._alpha = 100;
_root["LeftScroll" + k]._alpha = 100;
_root["Rightscroll" + k]._alpha = 100;
_root["dropzone" + k]._xscale = zonewidth;
_root["dropzone" + k]._yscale = zoneheight;
};
DrawCards();
for (k = 0; k < cards; i++)
{
_root["card" + k + "z"]._alpha = 100;
_root["card" + k + "z"]._xscale = cardwidth;
_root["card" + k + "z"]._yscale = cardheight;
}
_root.CardScrollRight._alpha = 100;
_root.cardscrollleft._alpha = 100;
_root.pb1._visible = false;
_root.grayscreen._visible = false;
_root.loadstatus._visible = false;
return false;
}
////////////////////
Vielen Dank für die sortierte Antwort ... Wird es überprüfen und lassen Sie wissen, wie sie am besten geeignet, um mit dem Rest der Stücke. –