Flashhilfe.de - Flash Community

mehrere Bilder auf einmal laden [Flash 10]

 


AntwortenRegistrieren Seite1  

Griepto#1
Benutzerbild von Griepto
Beiträge: 41
Wohnort: Berlin
Registriert: Jan 2009

03.03.2009, 18:06

Moin all,
irgendwie habe ich einen Denkfehler gemacht.
Ich möchte gern mit einer Funktion 35 Bilder laden
und in unterschiedlichen movies ablegen, damit ich diese
ansprechen, bzw sichtbar machen kann.
Ach ja und die Funktion sollte erst beendet sein, wenn alle Bilder geladen sind

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function alleLaden(nrp:String,nrb:String){
   for (var i:int = 0; i >= 35; i++) {
      var grad:String = "";
      if (i<10){
         grad = "_0" + i;
      }else{
         grad = "_" + i;
      }
      trace(i);
      var platteLader:Loader = new Loader ();
      platteLader.load(new URLRequest("daten_drehung/"+ nrp.substring(0,nrp.length-3) + grad + ".png"));
      
      platteLader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loopP);
      platteLader.contentLoaderInfo.addEventListener(Event.COMPLETE, doneP);
      platteLader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, fehlerP);
      
      
         function loopP(e:ProgressEvent):void{
            var perc:Number = e.bytesLoaded / e.bytesTotal;
            prozent_txt.text = Math.ceil(perc*100).toString() + " % geladen";
         }
         
         function doneP(e:Event):void{
            prozent_txt.text = "";
            trace ("bildPlatte" + i + "_mc");
            var dummyPlatte:MovieClip = new MovieClip();
            dummyPlatte.visible = false;
            dummyPlatte.addChild(platteLader);
            dummyPlatte.name = "bildPlatte" + i + "_mc";
if (i == 35){
                  //trace(i);
                  gotoAndPlay("weiter");
               }

         }
         function fehlerP(e:Event):void{
            
            platteNr_txt.text = "Bild: " + nrp.substring(0, nrp.length-3) + grad + ".png fehlt noch";
         }

         
   }
   
}

Ich bekomme zwar keinen Fehlermeldung,
geladen oder getraced wird allerdings auch nix.
Hat vielleicht jemand eine bessere Idee?
Danke schon mal fürs Draufsehen.
Zeit hat man dazu, wozu man Lust hat.
derFloh#2
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

03.03.2009, 19:20

hey
dreh wenigstens schon mal das  >  um...
for (var i:int = 0; i <= 35; i++)
sonst wird da jar nüscht hochgezählt!
die innen liegenden funktionen sind auch nicht so schick.
worüber du dir im klaren sein musst ist, dass alle 35 bilder
gleichzeitig geladen werden und zb die prozentangabe
total verrückt spielen wird, wenn so viele bilder gleichzeitig
geladen werden... die schleife wird blitzartig durchlaufen
und alle ladevorgänge gestartet...

naja, schau erstmal
gruß
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
Griepto#3
Benutzerbild von Griepto
Beiträge: 41
Wohnort: Berlin
Registriert: Jan 2009

Themenautor/in

03.03.2009, 21:08

huestel, dat kleener Zeichen, jawohl.
Vor lauter Rumprobiererei hat sich da etwas Schwachsinn eingeschlichen
Mein Problem liegt jedoch darin, das ich gern eines nach dem anderen laden würde,
damit ich nach dem letzten Ladevorgang (also i == 35) weitermachen kann.

Aber Deine Bemerkung hat trotzdem schon sehr geholfen, da ich jetzt mit einem Zaehler arbeite der im nächsten Frame liegt und soweit die 35 noch nicht erreicht ist wieder die function im frame zuvor startet. Mit
ActionScript:
1
2
3
4
5
6
7
8
platteLader.contentLoaderInfo.addEventListener(Event.COMPLETE, doneP);
function doneP(e:Event):void{
var dummyPlatte:MovieClip = new MovieClip();
            dummyPlatte.visible = false;
            dummyPlatte.addChild(platteLader);
            dummyPlatte.name = "bildPlatte" + iP + "_mc";
            nextFrame();
         }

Jetzt probier ich erstmal die Ladeperformance.
Zeit hat man dazu, wozu man Lust hat.
Geändert von Griepto am 03.03.09 um 21:09 Uhr
candiru#4
Benutzerbild von candiru
Beiträge: 190
Registriert: May 2007

05.03.2009, 12:50

wie wärs mit nem zähler.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
img_src_ary:Array;
ldr_cnt = 0;
ldr_ln = img_src_ary.length;

function load() {
  ladebild img_src_ary[ldr_cnt];
}

function loadComplete() {
  ...
  ldr_cnt++;

  if (ldr_cnt < ldr_ln) {
      load()
  } else {
      allImgLoaded();
  }
}
function allImgLoaded() {
...
}
Griepto#5
Benutzerbild von Griepto
Beiträge: 41
Wohnort: Berlin
Registriert: Jan 2009

Themenautor/in

05.03.2009, 14:30

@candiru, thanx
prima, das spart Platz
ich hatte den Zaehler über zwei frames realisiert,
so kann ich jetzt mehr in ein frame laden
Zeit hat man dazu, wozu man Lust hat.

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Online-Spiel Crossover [Flash 11] 05.06.2019 - Indy_Crossover
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de