Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-05-2004, 09:18   #1 (permalink)
kenntEinenDerFlashKann
 
Benutzerbild von Aule
 
Registriert seit: Mar 2002
Ort: sauerland
Beiträge: 220
aktualisierung von variablen???

Hallo,

ich hab eine haupt.swf, in die eine ext.swf geladen wird.

in der ext.swf steht im 1.Bild der HZL:

ActionScript:
  1. _root.bildAnz = 5;

in der haupt.swf auf Bild1 HZL steht:

ActionScript:
  1. _root.bildAnz = 0;
  2. myLoader.loadMovie("ext.swf");
  3. trace(_root.bildAnz);

wenn ich jetzt die haupt.swf teste, zeigt die Ausgabe: 0
wenn ich danach die Variablen auflisten lasse, wird folgendes angezeigt:

Variable _level0.bildAnz = 5

Die Variable wird also aktualisiert, nur wann?
__________________
...life is just a workaround...
Aule ist offline   Mit Zitat antworten
Alt 14-05-2004, 09:22   #2 (permalink)
_______________
 
Benutzerbild von son yu
 
Registriert seit: Mar 2003
Ort: !Schnitzerland
Beiträge: 2.003
nachdem dein externes swf vollstaendig geladen ist!

bei externen inhalten immer erst nen preloader vorschalten!

schoene gruesse
__________________
ey… be cool!

Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz,
1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe…
son yu ist offline   Mit Zitat antworten
Alt 14-05-2004, 09:25   #3 (permalink)
kenntEinenDerFlashKann
 
Benutzerbild von Aule
 
Registriert seit: Mar 2002
Ort: sauerland
Beiträge: 220
ich denke mal, der preloader muss in die ext.swf... woher weiß den Hauptfilm dann, wann's weitergehen kann?
__________________
...life is just a workaround...
Aule ist offline   Mit Zitat antworten
Alt 14-05-2004, 09:36   #4 (permalink)
_______________
 
Benutzerbild von son yu
 
Registriert seit: Mar 2003
Ort: !Schnitzerland
Beiträge: 2.003
ActionScript:
  1. _root.bildAnz = 0;
  2. myLoader.loadMovie("ext.swf");
  3. _root.onEnterFrame = function(){
  4. if(_root.myLoader.getBytesTotal()>=_root.myLoader.getBytesLoaded()){
  5. trace(_root.bildAnz);
  6. delete this.onEnterFrame;
  7. }else{
  8. trace("lade");
  9. }
  10. }
__________________
ey… be cool!

Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz,
1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe…
son yu ist offline   Mit Zitat antworten
Alt 14-05-2004, 10:02   #5 (permalink)
kenntEinenDerFlashKann
 
Benutzerbild von Aule
 
Registriert seit: Mar 2002
Ort: sauerland
Beiträge: 220
Ah ja. Wusste gar nicht, dass das so kompliziert ist. Aber vielen Dank für die Funktion!
__________________
...life is just a workaround...
Aule ist offline   Mit Zitat antworten
Alt 14-05-2004, 10:04   #6 (permalink)
_______________
 
Benutzerbild von son yu
 
Registriert seit: Mar 2003
Ort: !Schnitzerland
Beiträge: 2.003
was is daran kompliziert?
wenn du dein bier in der kneipe bestellst kannst du es auch erst trinken wenn du es in deinen haenden haelst!

schoene gruesse
__________________
ey… be cool!

Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz,
1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe…
son yu ist offline   Mit Zitat antworten
Alt 14-05-2004, 10:27   #7 (permalink)
kenntEinenDerFlashKann
 
Benutzerbild von Aule
 
Registriert seit: Mar 2002
Ort: sauerland
Beiträge: 220
äääh... dat funzt bei mir nicht... für welchen Player ist denn das Script?


und noch was anderes: ich versteh die Bedingung in Deiner if-Anweisung nicht... Wenn ich das mal in Hochdeutsch übersetzen würde:

Solange die Gesamtbytes größer oder gleich der geladenen Bytes sind, zeige die Variable bildAnz, andernfalls zeigt "lade"

müsste das nicht andersrum sein? Also so:

Solange die geladenen Bytes kleiner sind als die Gesamtbytes, zeige "lade", andernfalls zeige Variable bildAnz

Funktioniert allerdings beides nicht bei mir, entweder gibt er "0" aus oder laufend "lade", obwohl der Film definitiv im Hauptfilm geladen ist - da ist ja auch i.M. nix drin, nur ein Rechteck und ne Variable...

und was genau macht
ActionScript:
  1. delete this.onEnterFrame;
?
__________________
...life is just a workaround...
Aule ist offline   Mit Zitat antworten
Alt 14-05-2004, 11:29   #8 (permalink)
kenntEinenDerFlashKann
 
Benutzerbild von Aule
 
Registriert seit: Mar 2002
Ort: sauerland
Beiträge: 220
Hey - kann mir keiner helfen?
__________________
...life is just a workaround...
Aule ist offline   Mit Zitat antworten
Alt 14-05-2004, 13:16   #9 (permalink)
kenntEinenDerFlashKann
 
Benutzerbild von Aule
 
Registriert seit: Mar 2002
Ort: sauerland
Beiträge: 220
okay - folgendermaßen klappts:
ActionScript:
  1. _root.bildAnz = 0;
  2. myLoader.loadMovie("ext.swf");
  3. _root.onEnterFrame = function(){
  4.         if(_root.myLoader.getBytesTotal()>_root.myLoader.getBytesLoaded()){
  5.                 trace("lade");
  6.         }else{
  7.             trace(_root.bildAnz);
  8.         }
  9. }

Das erste Mal wird 0 angezeigt, danach immer der neue Wert.


Nachteil: durch den onEnterFram habe ich jetzt eine Funktion, die ständig durchläuft (Rechnerleistung -- ?). Geht das Ganze nicht auch mit 'ner Schleife? Habs schon mit 'ner while versucht, aber da hängt die Schleife fest...
__________________
...life is just a workaround...
Aule ist offline   Mit Zitat antworten
Alt 14-05-2004, 13:21   #10 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: D'dorf
Beiträge: 765
hi,

nee, mit Schleifen geht das nicht.
Aber du kannst das onEnterFrame einfach wieder löschen:
ActionScript:
  1. _root.bildAnz = 0;
  2. myLoader.loadMovie("ext.swf");
  3. _root.onEnterFrame = function(){
  4.         if(_root.myLoader.getBytesTotal()>_root.myLoader.getBytesLoaded()){
  5.                 trace("lade");
  6.         }else{
  7.                 trace(_root.bildAnz);
  8. [b]delete this.onEnterFrame;[/b]
  9.         }
  10. }
gruß,
roman
romän ist offline   Mit Zitat antworten
Alt 14-05-2004, 13:24   #11 (permalink)
kenntEinenDerFlashKann
 
Benutzerbild von Aule
 
Registriert seit: Mar 2002
Ort: sauerland
Beiträge: 220
Hmm - klingt logisch, aber dann git er wieder nur einmal "0" aus...
*grrmml"
__________________
...life is just a workaround...
Aule ist offline   Mit Zitat antworten
Alt 14-05-2004, 13:42   #12 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: D'dorf
Beiträge: 765
Der neue Wert von bildAnz ist halt erst ein Bild nachdem ext.swf geladen wurde abrufbar.

Um bildAnz erst ein Bild später abzurufen kannst du z.B. mit ner Variablen arbeiten:
ActionScript:
  1. _root.bildAnz = 0;
  2. myLoader.loadMovie("ext.swf");
  3. _root.onEnterFrame = function(){
  4.         if(_root.myLoader.getBytesTotal()>_root.myLoader.getBytesLoaded()){
  5.                 trace("lade");
  6.         }else{
  7. if(this.control != undefined){
  8.                 trace(_root.bildAnz);
  9. delete this.control;
  10.                 delete this.onEnterFrame;
  11. return;
  12. }
  13. this.control = "";
  14.         }
  15. }
gruß,
roman
romän 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 06:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele