Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-04-2004, 17:05   #1 (permalink)
der weg ist das ziel
 
Benutzerbild von sanft
 
Registriert seit: Apr 2004
Ort: Bruchsal
Beiträge: 82
zwei onEnterFrame "beissen" sich

1. in meinem mainmovie soll auf knopfdruck ein anderer film "team" in den leeren mc "container" geladen werden.
dabei soll "team" auch gleich zu einem bestimmten bild springen. dafür hab ich die funktion "loadAndJumpZiel" benutzt.
in dieser muss aber per onEnterFrame der ladestatus des zu ladenen filmes ("team") abgefragt werden, bevor er zum angegebenen bild springen kann.

auf knopfdruck hab ich folgende variablen definiert:
ActionScript:
  1. button.onPress = function() {
  2.          // zu ladende datei in Variable schreiben
  3.          film="team.swf";
  4.          bild="bruno";
  5.          _root.blende.play();
  6.          trace("3   on button:blende.play()")
  7.       }

ActionScript:
  1. function loadAndJumpZiel(film, bild) {
  2.          loadMovie(film, _root.container);
  3.          this.onEnterFrame = function() {
  4.             geladen = _root.container.getBytesLoaded();
  5.             gesamt = _root.container.getBytesTotal();
  6.                if (geladen>=gesamt && geladen>4){
  7.                container.gotoAndPlay(bild);
  8.                delete this.onEnterFrame;
  9.             }
  10.          }
  11.       }
2. dieses ganze laden des films wird nun in der mitte des mc_blende aufgerufen.... (konfus?)
zur erklärung: bevor der neue film abgespielt wird, soll der mc_blende eine blende zumachen, wenn "team" darunter geladen ist, geht die blende wieder auf.basiert auf rena's beitrag "tür auf tür zu" Tür auf - Tür zu (Preloader)->Inhalt da
hier liegt das problem, denn auch hier wird ein ladestatus abgefragt, der auch auf onEnterFrame basiert.
ActionScript:
  1. Aktionen für Bild 15 in mc blende
  2.          _root.loadAndJumpZiel(film,bild);
  3.          _root.loader_function.ladestatus()
  4.          stop();
ActionScript:
  1. //--- Ladefunktion  in neuem mc namens loader function--------------------------------
  2.          ladestatus = function () {
  3.             trace("6  ladestatus = function   begonnen");
  4.             _root.loader.onEnterFrame = function() {
  5.                trace("8  loader on enter frame funktion begonnen");
  6.                geladen = _root.container.getBytesLoaded();
  7.                total = _root.container.getBytesTotal();
  8.  
  9.                if (geladen>=10) {
  10.                   prozent = Math.round(geladen/total*100);
  11.                   _root.prozentanzeige.text = prozent+" Prozent geladen";
  12.                   _root.balken._xscale = prozent;
  13.                   if (prozent>=100) {
  14.                      delete this.onEnterFrame;
  15.                      _root.blende.play()
  16.                      trace("12  loader geladen > blende play");
  17.                   }
  18.                }
  19.             }
  20.          }
wie ich weiss, darf man pro zeitleiste nur einen onEnterFrame benutzten.
habe traces gesetzt, und da erkennt man, dass sich die beiden onEnterFrame abwechselnd in alle ewigkeit wiederholen....

ich brauche aber irgendwie diese zwei. jetzt hab ich versucht, die eine ladefunktion (blende) in einen eigenen mc zu packen, damit er eine eigene zeitleiste erhält. futzt aber nicht....
kann mir jemand einen tipp geben wie ich dies lösen soll?

bitte einfach nachfragen, falls ich die ganze sache zu konfus beschrieben hab.

grüsse
sanft
Angehängte Dateien
Dateityp: zip loadandjump_mit hintergrund_test.zip (8,9 KB, 0x aufgerufen)
sanft ist offline   Mit Zitat antworten
Alt 25-04-2004, 18:12   #2 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Mach doch die oE-Funktion des Preloaders zu einem setInterval. Das sollte dann so aussehen:

ActionScript:
  1. //--- Ladefunktion  in neuem mc namens loader function--------------------------------
  2. ladestatus = function () {
  3.         trace("6  ladestatus = function   begonnen");
  4.         tl = _root; // Hier passen ändern - evtl. "this"?
  5.        setInterval(function() {
  6.                 trace("8  loader on enter frame funktion begonnen");
  7.                 geladen = tl.container.getBytesLoaded();
  8.                 total = tl.container.getBytesTotal();
  9.                
  10.                 if (geladen>=10) {
  11.                         prozent = Math.round(geladen/total*100);
  12.                         tl.prozentanzeige.text = prozent+" Prozent geladen";
  13.                         tl.balken._xscale = prozent;
  14.                         if (prozent>=100) {
  15.                                 delete this.onEnterFrame;
  16.                                 tl.blende.play()
  17.                                 trace("12  loader geladen > blende play");
  18.                         }
  19.                 }
  20.         }, 50);
  21. }
__________________
Mediendesign-Student
johanness ist offline   Mit Zitat antworten
Alt 26-04-2004, 10:24   #3 (permalink)
der weg ist das ziel
 
Benutzerbild von sanft
 
Registriert seit: Apr 2004
Ort: Bruchsal
Beiträge: 82
funktionniert leider auch nicht, johanness...
wenn ich die ganze prozedur mit traces verfolge, stelle ich fest, dass gar nichts geladen ist.
schaue mir die variablen an (geladen, gesamt, total) und die sind alle auf 0.....

hat jemand eine andere idee, wo mein fehler liegt?

sonnige grüsse
sanft
sanft ist offline   Mit Zitat antworten
Alt 26-04-2004, 11:14   #4 (permalink)
der weg ist das ziel
 
Benutzerbild von sanft
 
Registriert seit: Apr 2004
Ort: Bruchsal
Beiträge: 82
danke johanness, hat sich erledigt. hab jetzt die richtige position von clearInterval gefunden....

sonnige grüsse
sanft
sanft 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 12:21 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele