Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-06-2004, 11:37   #1 (permalink)
Neuer User
 
Benutzerbild von kreegee
 
Registriert seit: Jun 2004
Beiträge: 4
getBytesTotal undefiniert, _totalframes funzt.

Hi,

arbeite grad an nem Preloader, der mit loadMovie("http://www.kuendig.ch/flash/Uniq_F-2.swf", "_root.container");
ein externes SWF öffnet. Wenn ich nun auf _root.container.getBytesTotal() (oder getBytesLoaded) zugreifen will, wird nur solange das Script auf der HD ist was zurügegeben, online funzts nichtmehr.

_root.container._totalframes hingegen funktioniert sowohl online als auch lokal.

Geändert von kreegee (11-06-2004 um 11:53 Uhr)
kreegee ist offline   Mit Zitat antworten
Alt 11-06-2004, 12:56   #2 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
natürlich wird in auch bei getBytesLoaded() und getBytesTotal() online was zurückgegeben....und sogar richtig...es liegt wohl eher an dem was Du damit machen willst, das hört sich ganz verdächtig nach einem preloader an, deine vermutlichen scriptversionen:
PHP-Code:
//mit getBytesLoaded/getBytesTotal
if(_root.container.getBytesLoaded() ==_root.container.getBytesTotal() ){
trace("Film geladen");
//...die actions nach dem preload...
}
....
//mit _framesloaded/_totalframes
if(_root.container._framesloaded==_root.container.totalframes){
trace("Film geladen");
//...die actions nach dem preload...

preloader version.2 funktioniert, weil das script völlig korrekt arbeitet:
nach dem loadMovie-Befehl muss die file natürlich erst auf dem server suchen, die 'variable' _framesloaded wird schon auf 0 gesetzt, wieviel frames der Film allerdings hat weiss man natürlich nicht d.h. der Wert der 'variable' _totalframes ist 'undefined' undefined != 0 die if-Abfrage ergibt beim ersten Mal false nach dem Laden des ersten Frames ist der wert von _totalframes bekannt und alles funktioniert weiter wie Du es erwartest....

preloader version.1 funktioniert nicht, weil das script völlig korrekt arbeitet:
nach dem loadMovie-Befehl muss die file natürlich erst auf dem server suchen, die 'funktion' getBytesLoaded() gibt logischerweise 'undefined' zurück, und auch _getBytesTotal() is erstmal 'undefined' undefined == undefined die if-Abfrage ergibt beim ersten Mal true und der 'preloadvorgang' ist beendet....das kannst Du folgendermassen abfangen:
PHP-Code:
if((_root.container.getBytesLoaded() == _root.container.getBytesTotal() )&&( _root.container.getBytesTotal()>50)){
trace("Film geladen");
//...die actions nach dem preload...

Gruß

alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-

Geändert von Alois (11-06-2004 um 12:57 Uhr)
Alois ist offline   Mit Zitat antworten
Alt 11-06-2004, 13:04   #3 (permalink)
Neuer User
 
Benutzerbild von kreegee
 
Registriert seit: Jun 2004
Beiträge: 4
Es handelt sich in der Tat um einen Preloader, allerdings sollte der ganz anders funktionieren (nur soweit preloaden dass der rest während dem Abspielen des Filmes angezeigt werden kann). Momentan hab ich aber fürs debugging eh alle Preloading-Funktionen deaktiviert. Ein dummy-Clip mit

PHP-Code:
onClipEvent (enterFrame) {
    
_root.Title2 _root.container.getBytesLoaded();

soll mir vorerst nur mal getBytesLoaded (bzw. Total, spielt eh keine Rolle - geht beides net) in ein Textfield im root übergeben. Wie gesagt, in der Publish-Preview und auf der HD gehts (der MovieClip den ich in _root.container lade ist immer auf nem webserver), aufm Localhost oder auf nem Webserver geht aber nix mehr...

Hab das .fla mal angehängt, der dummy-clip wie auch der container sind leicht rechts ausserhalb des sichtbaren Bereichs.
Angehängte Dateien
Dateityp: zip MovieLoader.zip (11,7 KB, 6x aufgerufen)
kreegee ist offline   Mit Zitat antworten
Alt 12-06-2004, 14:44   #4 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
autsch, MX2...hab ich nich
....aber was ich hier lese....das müsste schon funktionieren, auch wen die Art wie Du scriptst doch eher Flash5-konform ist...in MX/MX2 kannst Du für solche Fälle intervalle setzen (schau Dir mal setInteval in der Referenz an)...dummy mc's braucht man seit mx nicht mehr.

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 14-06-2004, 09:49   #5 (permalink)
Neuer User
 
Benutzerbild von kreegee
 
Registriert seit: Jun 2004
Beiträge: 4
Zitat:
Zitat von Alois
autsch, MX2...hab ich nich
....aber was ich hier lese....das müsste schon funktionieren
dachte ich auch... werd mir setinterval mal angucken, als anhang das .fla als flash mx-file. Interessanterweise ist getBytesLoaded() auch aufm Webserver immer 0, sobald das Laden aber beginnt verschwindet die Zahl :-\ Lokal beginnt sie dann hochzuzählen...
Angehängte Dateien
Dateityp: zip MovieLoader.zip (17,9 KB, 1x aufgerufen)

Geändert von kreegee (14-06-2004 um 09:59 Uhr)
kreegee 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 14:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele