Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-07-2004, 14:39   #1 (permalink)
Frührentner
 
Benutzerbild von Midus
 
Registriert seit: May 2004
Beiträge: 142
Laden von unterschiedlichen Bildern schlägt fehl

Hey Flasher,

brauche einen Tip: Es geht darum dass beim Laden der unterschiedlichen Bildern die LoadMovie Funktion Zeit braucht um ein Bild zu laden. Und da ist wohl eine FOR Schleife viel zu schnell für.

Heisst das, dass ich das Laden der Bilder in EnterFrame Routine lösen muss oder gibt es eine bessere oder schlauere Lösung. Vorher lade ich die werte die in Vorschau[i] geschrieben werden aus einer Datenbank.

hier mein Code:

ActionScript:
  1. // Das ganze ist in einer [U]onLoad[/U] Funktion einer RecieverVariable (LoadVars)
  2. // this bezieht sich auf die [U]LoadVars[/U] Variable
  3. for (i=0;i<this.anzahlrows;i++) {
  4.     Vorschau[i] = this["pr_nr"+i]; <--- aus der Datenbank ausgelesen
  5.     scrhor_mc.container_thumb.attachMovie("pict_thumb", Vorschau[i], Vorschau[i]);
  6.     scrhor_mc.container_thumb[Vorschau[i]]._x = i * (100) * 1.4 +20;
  7.     scrhor_mc.container_thumb[Vorschau[i]]._y = -scrhor_mc.container_thumb[Vorschau[i]]._height -18;
  8.  
  9. // GENAU HIER Funkt es nicht mehr, schreibe ich anstatt "+Vorschau+" einen statischen Wert. Meinetwegen 1_2.jpg, dann funkt das. Ist auch logisch ...
  10.     scrhor_mc.container_thumb[Vorschau[i]].loadMovie("http://localhost/wvs/projekte/"+Vorschau[i]+".jpg");
  11.     scrhor_mc.container_thumb[Vorschau[i]].onRollOver = myRollOver;
  12.     scrhor_mc.container_thumb[Vorschau[i]].onRollOut = myRollOut;
  13. }

Vielen Dank für eure Vorschläge
Midus ist offline   Mit Zitat antworten
Alt 29-07-2004, 14:40   #2 (permalink)
Frührentner
 
Benutzerbild von Midus
 
Registriert seit: May 2004
Beiträge: 142
Ach ja nicht zu vergessen, die Bilder sind nicht physisch als BLOB in der Datenbank, sondern dort sind einfach die Bildernamen eingetragen.... so
Midus ist offline   Mit Zitat antworten
Alt 29-07-2004, 14:41   #3 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
so wird das nix !

mach dir eine funktion der du nur den pfad zum bild übergeben musst..


loadPic(path)

dann machst ein array und schreibst alle pfade zu allen bildern rein..

dann lässt ihn bei wert 1 anfangen...und wenn er alles geladen hat - soll er einfach weiter im array "langlaufen" biss es zuende ist..


nur als beispiel wie man da rangehen könnte..

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 29-07-2004, 14:59   #4 (permalink)
Frührentner
 
Benutzerbild von Midus
 
Registriert seit: May 2004
Beiträge: 142
möchte nicht deine künste anprangern. Aber beim onLoad hat er bereits alle Werte geladen, da ich noch davor auf

ActionScript:
  1. this.loaded

abfrage. Was du letztendlich mir räts ist... den obenerwähnten code.. genauer gesagt den vorgang LoadMovie in eine Funktion zu verlagern und die ganzen Pfade vorher abzuspeichern und diese in der verlagerten Funktion zu benutzen

Dein Komment:..... und wenn er alles Geladen hat....

Genau darum gehts. Wann denn ??? Wann hat er denn alles geladen. Die Abfrage auf der Datenbank wird durch das this.loaded abgedeckt. Da hat er schon alle Werte in der Receiver Variable.
Midus ist offline   Mit Zitat antworten
Alt 29-07-2004, 15:03   #5 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
jojo - ich hab halt oben halt kein loaded teil gesehen

ok damit stellst du schonmal sicher - das deine variablen übermittlet wurden..

wie du überprüfen kannst ob das bild geladen wurde - naja - überprüf die x und y scale des containermc`s ....wenn die sich verändert - wurde auch das bild geladen...

jo ...mein vorschlag wäre halt ne liste...dann lädst du das erste bild aus der liste....wenn es da ist (wenn sich die x/y scale werte ändern) - lädst du das nächste...

für bilder gibt es halt kein onLoaded.....

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 29-07-2004, 15:17   #6 (permalink)
Frührentner
 
Benutzerbild von Midus
 
Registriert seit: May 2004
Beiträge: 142
Deshalb hab ich in Betracht genommen dies bei onEnterFrame zu lösen.

D.h.

beim ersten Durchlauf starte ich einmal onLoad für ein Bild mit Pfad und dann
lass ich nebenbei eine Funktion bei onEnterFrame laufen.

Sobald getByteslaoded für die im container vorhandene mc box durch ist, delete ich onEnterFrame und führe loadMovie funktion wieder auf.

Anscheinend irgendwie rekursiv und mit 2 parametern

na ja sobald fertig ist posts ich vielleicht.

Danke
Midus ist offline   Mit Zitat antworten
Alt 29-07-2004, 18:15   #7 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
also nur um nochmal den kleinkarierten raushängnen zu lassen

Eine Rekursion ist eine Funktion die sich selbst aufruft !

Der onEnterFrame ist sowieso schon endlos....also macht das hier keinen Sinn !!!
Wäre nur die Frage was der On Enter Frame ist ? eine rekursion kann er nicht sein da er keine endebedingung hat ...also ist er für mich eine endlosschleife....die man halt deleten kann...

das was du vorhast ist also keine rekursion - da du dich schon in nem loop befindest !


zum vorgang..
du könntest das ganze schon im on enter frame machen ...
ich würde es aber anders lösen..

ich würde ein bild laden - diesem einen enterframe verpassen.....da kucken wanns geladen ist....dan den enterframe wieder löschen - und das nächste bild laden...

aber jeder wie er bock hat.....

du kannst auch einen on enter frame machen und darin prüfen...(wie du gesagt hast)

Gruss nky
nky 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 19:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele