Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-07-2006, 13:26   #1 (permalink)
AS = A + S
 
Benutzerbild von kn!ght
 
Registriert seit: Aug 2005
Ort: München
Beiträge: 63
Unhappy Preloading mehrerer JPGs aus XML mit EINER Prozentanzeige!

Hallo Flasher,

bin total frustriert! Ich versuche nun seit ein par Stunden in Flash 8 mit AS2 und der MovieClipLoader Class MEHRERE JPGs zu preloaden und das ganze mit EINER Prozentanzeige und einem PROZENTBALKEN!

An folgende Funktion wird ein Array mit mehreren Bildpfaden übergeben... (arr_images)

Code:
function preloadImages(arr_images) {
	
	var xpos = 230;
	var ypos = 120;	
	var int_preloaderwidth = 400;
	
	// Clips für die Inhalte erstellen
	this.createEmptyMovieClip("progressBar_mcTop", 2);
	this.progressBar_mcTop.createEmptyMovieClip("bar_mcTop", 3);	
	
	// create textfield
	this.progressBar_mcTop.createTextField("txt_percentTop", 234, 0, 5, 100, 20);
	this.progressBar_mcTop.txt_percentTop.html 			= false;
	this.progressBar_mcTop.txt_percentTop.multiline 	= false;
	this.progressBar_mcTop.txt_percentTop.wordWrap 		= true;
	this.progressBar_mcTop.txt_percentTop.embedFonts 	= true;
	this.progressBar_mcTop.txt_percentTop.selectable 	= false;
	
	_global.ContentFormat 	   = new TextFormat();
	_global.ContentFormat.size = 12;
	_global.ContentFormat.font = "lucidaconsole";
	_global.ContentFormat.color= "0x7F6E5A";
	_global.ContentFormat.autoSize = "left";
	
	//Zeichnungsmethoden zum Erstellen einer Fortschrittsleiste verwenden
	with (this.progressBar_mcTop.bar_mcTop) {
   		beginFill(0xDDDDDD, 100);
   		moveTo(0, 0);
   		lineTo(int_preloaderwidth, 0);
   		lineTo(int_preloaderwidth, 2);
   		lineTo(0, 2);
   		lineTo(0, 0);
   		endFill();
   		_xscale = 0;
	}
	
	this.progressBar_mcTop._x = xpos;
	this.progressBar_mcTop._y = ypos;
	
	// init loading vars
	var mc_countArrImages = arr_images.length;
	
	// Ladefortschritt
	var mcListener1:Object = new Object();
	
	mcListener1.onLoadStart = function(mc_images:MovieClip) {
   		this.progressBar_mcTop.bar_mcTop._xscale = 0;
		this.progressBar_mcTop.txt_percentTop._x = 0;
	};
	
	mcListener1.onLoadProgress = function(mc_images:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
   		this.progressBar_mcTop.bar_mcTop._xscale = Math.round(bytesLoaded/bytesTotal*100);
		this.progressBar_mcTop.txt_percentTop.text = Math.round(bytesLoaded/bytesTotal*100) + " %";
		this.progressBar_mcTop.txt_percentTop._x = (int_preloaderwidth / 100) * (Math.round(bytesLoaded/bytesTotal*100) - 10);
		this.progressBar_mcTop.txt_percentTop.setNewTextFormat(_global.ContentFormat);
		trace(bytesLoaded);
	};
	
	mcListener1.onLoadComplete = function(mc_images:MovieClip) {
				
	};
	
	mcListener1.onLoadInit = function(mc_images:MovieClip) {
   		
	};
	
	//Clip als Container für das Bild erstellen.
	var image_mc:MovieClipLoader = new MovieClipLoader();
	
	image_mc.addListener(mcListener1);
	
	image_mc.loadClip(arr_images[0]["source"], mc_images["mc_image_" + 0]);
	/*
	for (var i = 0; i < arr_images.length; i++) {
		image_mc.loadClip(arr_images[i]["source"], mc_images["mc_image_" + i]);
	}
	*/
} // end preloader function
Wenn ihr auch keine Ahnung habt schickt mir bitte nen Strick

Danke kn!ght
kn!ght ist offline   Mit Zitat antworten
Alt 17-07-2006, 14:20   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Was funktioniert denn nicht? Hast du schon mal versucht den Bug mit ein paar trace-Befehlen im Testmodus einzukreisen?
  Mit Zitat antworten
Alt 17-07-2006, 14:24   #3 (permalink)
AS = A + S
 
Benutzerbild von kn!ght
 
Registriert seit: Aug 2005
Ort: München
Beiträge: 63
funktioniert alles prima, solange ich einen einzigen SWF bzw JPG lade, aber sobald ich das anders versuche funtzt es nimma...

Code:
image_mc.loadClip(arr_images[0]["source"], mc_images["mc_image_" + 0]);
	/*
	for (var i = 0; i < arr_images.length; i++) {
		image_mc.loadClip(arr_images[i]["source"], mc_images["mc_image_" + i]);
	}
	*/
wenn ich mehrere "LoadClip" verwende fasst er diese nicht zusammen sondern lädt sie einzeln (keine gemeinsame Statusanzeige möglich)

Hier fehlt mir der Lösungsweg (möglichst sauber mit integrierter MovieClass...)
kn!ght ist offline   Mit Zitat antworten
Alt 17-07-2006, 14:27   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Das musst du wohl oder übel per Hand machen. Also alle zu ladenden Bytes zusammenzählen und gleich 100 Prozent setzen und die tatsächlichen bytesLoaded ins Verhältnis dazu setzen.
  Mit Zitat antworten
Alt 17-07-2006, 23:21   #5 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Servus
Oder mit PHP die Dateigrößen zusammenzählen lassen und an Flash übergeben!
Funzt aber nicht mit swf's, ausser man komprimiert sie nicht
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake 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:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele