Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-02-2004, 13:35   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Ort: FFM
Beiträge: 52
Schleifen Problem beim Laden

Folgender Code:


startx = 20;
starty = 0;

function ladexml()
{
picture = [];

entrys = this.firstChild.childNodes;

for (i = 0; i < entrys.length; i++)
{
bilder[i] = entrys[i].firstChild;
}

for (i = 0; i < entrys.length; i++)
{
picture[i] = entrys[i].attributes.picture;
}

i=0;
entrysMax = picture.length;

while (i<entrysMax)
{

clip = attachMovie("Container", "u" + i, i);
clip._x = (i%entrysMax)*200+startx;
clip.attachMovie("preloader", "preloader", 1);

clip.preloader.bar._xscale = 0;

clip.createEmptyMovieClip("holder", 0);

clip.holder.loadMovie("tn_"+picture[i]);
clip.holder._visible = false;
clip.statusload = "false";
clip.preloader.onEnterFrame = preload;

i++;
}
}



this.createEmptyMovieClip("mc_thumb", 100);
this.mc_thumb._x=startx;
this.mc_thumb._y=starty;

function preload() {
var geladen = this._parent.holder.getBytesLoaded();
var gesamt = this._parent.holder.getBytesTotal();
var prozent = ((geladen / gesamt) * 100);
if (prozent < 100) {
this.bar._xscale = prozent;
this.percent = Math.floor(prozent) add "%";
} else if (geladen > 1) {
this.finished = true;
}
if (this.finished) {
this._parent.holder._x = (-this._parent.holder._width) / 2;
this._parent.holder._y = (-this._parent.holder._height) / 2;
this._parent.holder._visible = true;
i++;
this.removeMovieClip();
}
}



meinePics = new XML();
meinePics.ignoreWhite = true;
meinePics.onLoad = ladexml;
meinePics.load("gallery.xml");

Also das Problem an dem Script ist das es super läuft, allerdings werden die Files alle sofort geladen, d.h. Clip Ladevorgang für Bild 1 bis Bild 5 startet simultan. Ich würd aber gern das erst nach dem Laden von Bild 1 Bild 2 geladen wird udw. Hab versucht das bei Preloader einzubauen, nämlich wenn dieser

if (this.finished) {
}

prüft und da dann per this._parent.i++;

versucht die Schleife weiter laufen zu lassen, allerdings ohne Erfolg. Auch mit dem setzen von Variablen un dem if Abfragen innerhalb der Schlife hab ichs versucht aber es geht einfach net.
Schaut euch das File an es ist alles sehr übersichtlich komplett mit Bildern und XML und FLA File. Vielleicht hat jemand ja eine Idee


thanks picar

Geändert von picar48 (20-02-2004 um 17:33 Uhr)
picar48 ist offline   Mit Zitat antworten
Alt 20-02-2004, 16:04   #2 (permalink)
.ad
 
Benutzerbild von bobby
 
Registriert seit: Jun 2001
Ort: zürich
Beiträge: 10.731
wenn das in einer schleife steht, ist ja klar, dass der ladebefehl gleich an alle geht.

besser wäre vermutlich wenn das über eine funktion gehen würde:

ansatz:

ActionScript:
  1. myloader = function(i)
  2. {
  3. ....
  4. clip.holder.loadMovie("tn_"+picture[i]);
  5. }
  6.  
  7.  
  8. if (this.finished)
  9. {
  10. i++;
  11. myloader(i);
  12. }
__________________
http://www.radiocity.ch
bobby ist offline   Mit Zitat antworten
Alt 20-02-2004, 16:24   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Ort: FFM
Beiträge: 52
muss ja eingestehen da war ich aber s.. dämlcih das ich da net drauf gekommen bin aber nun ja manchmal ist man halt etwas b.....

vielen dank für die hilfe das war die lösung es funzt wieder
picar48 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele