Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-12-2005, 18:43   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 53
Bild in 2 Container laden

Hi
Mal wieder eine Frage, die auch für mich ganz einfach geklungen hat, aber ich bekomms nicht hin. Ich möchte ein Bild in einem Movieclip laden. Das Bild soll sich ständig neu laden, weil es einzelbilder von einer Webcam sind. Dann habe ich gemerkt, dass es flimmert, also war die Idee, zwei container zu machen, die sich gegenseitig ausblenden, wenn sie geladen sind.

Naja, hier das Script. Wer kann mir sagen, was ich falsch mache. Alles?
Code:
stop();
onEnterFrame=function(){
holder.loadMovie("http://www.basti-fritzsche.de/streamer/webcam.jpg");
holdertotal=holder.getBytesTotal();
holderloaded=holder.getBytesLoaded();
if (holderloaded == holdertotal){
	holder._visible=true;
	holder2._visible=false;
	trace("holder1");
}	


holder2.loadMovie("http://www.basti-fritzsche.de/streamer/webcam.jpg");
holder2total=holder.getBytesTotal();
holder2loaded=holder.getBytesLoaded();
if (holder2loaded == holder2total){
	trace("holder2");
	holder._visible=false;
	holder2._visible=true;
	}
}
Danke schon mal für eure Hilfe.
Sebbal ist offline   Mit Zitat antworten
Alt 19-12-2005, 19:13   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
vielleicht so?

...
holder2.loadMovie("http://www.basti-fritzsche.de/streamer/webcam.jpg");
holder2total=holder2.getBytesTotal();
holder2loaded=holder2.getBytesLoaded();
...

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 19-12-2005, 22:47   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 53
Aua

Recht hast du.... :-D
Sebbal ist offline   Mit Zitat antworten
Alt 19-12-2005, 22:58   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 53
Geht immer noch nicht

Es klappt immer noch nicht. Ich sehe nur einen leeren Film...
Die Ausgabe stimmt auch nicht. Ausser ich stelle den Film auf ein Bild die Sekunde runter, dann tracet er holder1 und holder2 immer wieder abwechselnd, aber sehen tu ich auch nichts.....
Code:
stop();
onEnterFrame=function(){
holder.loadMovie("http://www.basti-fritzsche.de/streamer/webcam.jpg");
holdertotal=holder.getBytesTotal();
holderloaded=holder.getBytesLoaded();
if (holderloaded == holdertotal){
	holder._visible=true;
	holder2._visible=false;
	trace("holder1");
}	


holder2.loadMovie("http://www.basti-fritzsche.de/streamer/webcam.jpg");
holder2total=holder2.getBytesTotal();
holder2loaded=holder2.getBytesLoaded();
if (holder2loaded == holder2total){
	trace("holder2");
	holder._visible=false;
	holder2._visible=true;
	}


}
Sebbal ist offline   Mit Zitat antworten
Alt 19-12-2005, 23:20   #5 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
schafft es der film denn, das bild innerhalb einer sekunde zu laden?

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 19-12-2005, 23:26   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 53
ja, muss er ja wohl, weil er ja das trace ding ausgibt. Aber er zeigt nichts an. Gäbe es denn eine bessere Lösung, dass der erst weiter macht, wenns Bild geladen ist oder so?
Sebbal ist offline   Mit Zitat antworten
Alt 19-12-2005, 23:49   #7 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
>ja, muss er ja wohl, weil er ja das trace ding ausgibt.

nein, muß er nicht.
wenn noch gar nichts geladen ist, sind getBytesLoaded
und getBytesTotal auch gleich. du mußt abfragen, ob schon
was im movieclip angekommen ist.
z.b. kannst du fragen, ob eine breite (width) existiert, bevor
du getBytesLoaded mit getBytesTotal vergleichst.
oder du setzt getBytesLoaded vor dem ladevorgang auf -1.
das überschreibt sich dann von alleine, wenn bytes ankommen.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 20-12-2005, 07:24   #8 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Oder baust zusätzlich das in die If-Abfrage:

PHP-Code:
(holderloaded == holdertotal && holderloaded 0
So wird das Ding nur ausgeführt, wenn die geladenen Bytes grösser als 0 sind!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 20-12-2005, 08:11   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 53
ahhh.....ok....wieder was gelernt. Muss ich gleich mal ausprobieren.
Sebbal ist offline   Mit Zitat antworten
Alt 20-12-2005, 08:18   #10 (permalink)
"Lust auf Stil"
 
Benutzerbild von questionner
 
Registriert seit: Jun 2003
Ort: Florenz
Beiträge: 1.490
Und lade das Bild mit einem zeitlichen Interval einfach neu. Bild laden in MC1, wenn vollständig geladen, dann ist MC1 = MC2, nach dem Durchlauf des Intervals (z.B. 2 oder 1 Sekunde), unload in MC2, wenn in MC1 geladen, da MC1 ja wieder zu MC2 wird. Schau mal nach rekursiver Funktion.
__________________
Dann geht ein Bild hinein, geht durch der Glieder angespannter Stille - und hört im Herzen auf zu sein.
questionner ist offline   Mit Zitat antworten
Alt 21-12-2005, 19:23   #11 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 53
Ich bekomme es nicht hin. Ich glaube, obwohl es so eine leichte Aufgabe ist, bekomme ich es nicht hin. Ich verenne mich total.... Das kann doch nicht so schwer sein. Rekursive Funktionen waren wohl der richtige Weg, aber ich weiß nicht weiter...
Sebbal ist offline   Mit Zitat antworten
Alt 08-01-2006, 19:09   #12 (permalink)
"Lust auf Stil"
 
Benutzerbild von questionner
 
Registriert seit: Jun 2003
Ort: Florenz
Beiträge: 1.490
Immer noch beim Rennen?
Versuche mal so etwas:

PHP-Code:
_global.ct 1;
_global.old_conti;
var 
tl this;
function 
reload_x() {
tl.createEmptyMovieClip("container"+ctct+10);
tl["container"+ct].loadMovie("http://www.basti-fritzsche.de/streamer/webcam.jpg?dummy="+new Date().getTime());
tl["container"+ct]._alpha 0;
this.loader_funk = function() {
if (
tl["container"+ct].getBytesLoaded() >= 4) {
gesamt tl["container"+ct].getBytesTotal();
bereits tl["container"+ct].getBytesLoaded();
prozent Math.ceil((bereits/gesamt)*100);
if (
prozent == 100) {
tl["container"+ct]._alpha 100;
tl.old_conti._alpha -= 5;
if (
tl["container"+ct]._alpha >= 100) {
tl.old_conti.unloadMovie();
old_conti tl["container"+ct];
ct++;
clearInterval(loadID);
}
}
}
};
loadID setInterval(loader_funk10);
}
reload_x();
var 
SID setInterval(reload_x3000);  //hier kannst Du den Zeitwert verändern, sind ms. 
__________________
Dann geht ein Bild hinein, geht durch der Glieder angespannter Stille - und hört im Herzen auf zu sein.
questionner 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 20:34 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele