Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 4 und Flash 5

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-12-2008, 20:08   #1 (permalink)
Neuer User
 
Benutzerbild von Grille
 
Registriert seit: Oct 2001
Beiträge: 156
Preloader richtig einsetzen

Hallo,

Mein Preloaderproblem befindet sich auf dieser Seite: geocontrol.schauart.de
Wenn ich diese Seite aufrufe, dann sehe ich lange zeit nichts, dann sehe ich kurz den Preloader der dann den ersten Punkt in der Skala aufleuchten läßt. Dann bricht er ab und geht zur fertig geladenen Mainseite.

Ich möchte aber den Preloader von Anfangan sehen, und nicht erst wenn er schon 90% runtergeladen hat.

Wenn ich dies in Flash teste, wird alles richtig angezeigt.
Nur im "echten Web" klappt es nicht

Der Preloader funktioniert wie folgt:
2 Szenen: eine Preloader (ein paar KB), eine Main (ca 3,5 MB)

in der ersten (Preloader)Szene wird im ersten Frame mit "stop()" gestopt. in diesem Frame befindet sich ein PreloaderObjekt der diesen Code als Objektaktion nutzt:

Code:
onClipEvent (enterFrame){

	function percent(hundertpercenthave, part){
		var percent = (part*100)/hundertpercenthave;
		return percent;
	}
	

	if (_root.getBytesLoaded() >= _root.getBytesTotal()){
		_root.play();
	} else{

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 9){
			_root.preloader.part1._alpha = 80;
		} else{
			_root.preloader.part1._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 19){
			_root.preloader.part2._alpha = 80;
		} else{
			_root.preloader.part2._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 29){
			_root.preloader.part3._alpha = 80;
		} else{
			_root.preloader.part3._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 39){
			_root.preloader.part4._alpha = 80;
		} else{
			_root.preloader.part4._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 49){
			_root.preloader.part5._alpha = 80;
		} else{
			_root.preloader.part5._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 59){
			_root.preloader.part6._alpha = 80;
		} else{
			_root.preloader.part6._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 69){
			_root.preloader.part7._alpha = 80;
		} else{
			_root.preloader.part7._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 79){
			_root.preloader.part8._alpha = 80;
		} else{
			_root.preloader.part8._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 89){
			_root.preloader.part9._alpha = 80;
		} else{
			_root.preloader.part9._alpha = 10;
		}

		if (percent(_root.getBytesTotal(),_root.getBytesLoaded()) >= 99){
			_root.preloader.part10._alpha = 80;
		} else{
			_root.preloader.part10._alpha = 10;
		}

	_root.preloader.gyroscope._alpha = 20;
	_root.preloader.gyroscope._rotation += 1;

	}
}
"part1", "part2", ..., "part10" sind die 10 Viereckchen die nach und nach aufleuchten sollen

------------------------------------------------------------------------
Könnt ihr mir bitte sagen, wie man einen Preloader (Flash5 fähig) so anlegt, dass er sofort angezeigt wird wenn der erste Frame geladen wird?

------------------------------------------------------------------------
Wie kann ich einen Preloader bauen, der auch innerhalb der Webseite angezeigt wird, wenn weiterer Content geladen wird?

Ich bin für jede Hilfe Dankbar,
Gruß,
Grille
Grille ist offline   Mit Zitat antworten
Alt 03-12-2008, 20:58   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
anstatt dem da:
if (percent(_root.getBytesTotal(),_root.getBytesLoade d()) >= 9){
_root.preloader.part1._alpha = 80;
} else{
_root.preloader.part1._alpha = 10;
}
... usw.

versuch mal sowas:
_root.preloader.part1._alpha = 100 - percent(_root.getBytesTotal(),_root.getBytesLoaded ());



szenen sind ganz schlecht! mach einzelne swf's daraus.

erzeuge eine fla, die aus nichts anderem besteht als aus einem ladebalken und einem passenden programm natürlich. weil das ding so klein ist (sein sollte) wird das ruckzuck geladen und ist somit sofort betriebsbereit.
diese fla läd alles anderen nach und kann diesen ladefortschritt von anfang an zeigen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 03-12-2008, 22:24   #3 (permalink)
Neuer User
 
Benutzerbild von Grille
 
Registriert seit: Oct 2001
Beiträge: 156
Danke für deine Antwort.

Habe jetzt die Szene "Main" rausgeworfen. Jetzt existiert also nurnoch der Preloader mit 35KB.

Wenn ich es richtig verstanden habe, muss man nun einen "Container" machen wo man einen Filmreinladen kann. Aber wie setze ich den Preloader auf das laden des eigentlichen Filmes an?

-------------------------------------------------------------------
_root.preloader.part1._alpha = 100 - percent(_root.getBytesTotal(),_root.getBytesLoaded ());

Dein Vorschlag von Dir würde doch bedeuten, dass das Objekt "part1" erst ganz hell sein würde und dann immer durchsichtiger wird. Ich muss ehrlich sagen, dass mich meine AS-Schreibweise auch sehr nervt, weil ich den Code gerne schlanker machen würde!!! Aber zur Zeit macht er das was ich will: eine Lampe nach der anderen geht in 10%-Schritten an.

Vielen Dank für Deine Antwort.
Ich suche jetzt nochmal nach einem Preloadertutorial welches man in Flash5 nutzen kann.
Grille ist offline   Mit Zitat antworten
Alt 04-12-2008, 01:46   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
in deinem main z.b. zwei mc's anlegen:

das untere, ein leeres mc mit z.b. dem namen 'container'
darüber dein preloder-mc, dann kannst du mit z.b.
_root.container.loadMovie("name_der.swf");
deine eigentliche anwendung dazuladen.

der preloader sollte dann natürlich diese werte anzeigen:
_root.container.getBytesTotal() und _root.container.getBytesLoaded()



flash 5 ist extrem alt

schau dir auch mal das ZIP hier an
http://www.seibsprogrammladen.de/fra...ispiele/flash5
-> Homepage
Eine Muster-Homepage rein mit Flash-Files.


und probier mal das mit deinen lampen:

var nr = 10-((_root.getBytesTotal()-_root.getBytesLoaded())/_root.getBytesTotal()*9);
_root.preloader['part'+nr]._alpha = 80;
_root.preloader['part'+(nr-1)]._alpha = 10;
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (04-12-2008 um 02:12 Uhr)
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
preloader

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 17:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele