| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 42
| Blöde Frage: Dimension eines MC nach loadMovie
Hallo zusammen, da mich momentan ein Bug in meiner site etwas auf die Palme bringt muss ich jetzt einfach mal fragen. Und zwar lade ich eine XML Datei in der nur der Pfad einer Datei und noch zwei andere Attribute pro Element enthalten sind. Wenn geladen werden soll, attache ich einfach einen neuen MC (_alpha = 0) und lade die Datei (.swf oder .jpg) in diesen noch nicht sichtbaren MC. Anschliessend fade ich den aktuell sichtbaren MC aus und fade den neu geladenen ein. So weit so gut. Nun bin ich aber bisher davon ausgegangen, dass ich mit dem Laden einer Datei der MC in den die Datei geladen wird automatisch an die Dimensionen der geladenen Datei anpasst... War das ein Fehler? Unter MX war das auch immer so, dass ich einfach eine Datei geladen habe und der MC Höhe und Breite automatisch angepasst hat.Jedenfalls lese ich nach dem Laden Höhe und Breite aus, schreibe sie in globale Variablen, um dann von anderen MCs darauf zugreifen zu können. Allerdings gelingt mir das nicht immer. Ganz selten kommt es vor, dass die Höhe und Breite auf Null stehen und dann funktioniert das gesamte Layout nicht mehr... Hätte jemand einen Tipp für einen Workaround? Das wäre echt klasse... Viele Grüße, Oli |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
das ist nicht neu, sondern uralt. du fragst offensichtlich die breite ab, bevor das swf/bild geladen ist. benütze loadClip, das hat ein .onLoadComplete-event
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| no guts no glory Registriert seit: May 2004 Ort: Nordhorn
Beiträge: 7.998
|
Stellst du beim Laden der Elemente mit einem Preloader sicher das die Dateien komplett geladen sind bevor du deinen globalen Variablen die höhe/breite zuweist? Ums konkreter zu sagen: Ein leerer MC hat so lange eine höhe/breite von 0 bis das Element das du in ihn lädst komplett geladen ist. Wenn ich also schreibe: PHP-Code:
__________________ Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke. 'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.' |
| | |
| | #4 (permalink) | |
| Neuer User Registriert seit: Jun 2004
Beiträge: 42
|
Wow, das geht aber schnell... Zitat:
Super, danke für den Tipp mit loadClip. Bin erst vor ein paar Wochen von MX auf 8 umgestiegen und da hat man noch nicht sofort alles im Blick... @readme.txt: Den PreLoader gibt es. Mein Funktionsgerüst sieht ungefähr so aus: Code:
//in Frame 1
_global.mcContent;
_global.iNewContentWidth;
_global.iNewContentHeight;
...
function loadContent(){
//ausblenden des aktuellen Contents
//hinzufügen des neuen Contents
//hinzufügen des Loaders
//laden
loadExternalFile(strFilePath);
//einblenden des neuen Contents etc.
...
}
function loadExternalFile(strFilePath){
_global.mcContent.loadMovie(strFilePath);
_global.mcLoader.onEnterFrame = function(){
iBytesLoaded = _global.mcContent.getBytesLoaded();
iBytesTotal = _global.mcContent.getBytesTotal();
if(iBytesLoaded == iBytesTotal){
...
_global.iNewWidth = _global.mcContent._width;
_global.iNewHeight = _global.mcContent._height;
...
delete this.onEnterFrame;
}
}
} | |
| | |
| | #5 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
if(iBytesLoaded == iBytesTotal){ es gibt auch den fall, das beide null sind. wenn schon dann besser if(iBytesTotal && iBytesLoaded >= iBytesTotal){ oder teste gleich auf breite if(this. _width) _global.iNewWidth = _global.mcContent._width; ach herje, _globals nur dann nehmen, wenn's unbedingt sein muss. eventuel hast du überschneidungen, wenn 2 mc's geladen werden. und in _global.mcLoader.onEnterFrame _global.mcLoader durch this ersetzen
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #6 (permalink) | ||
| Neuer User Registriert seit: Jun 2004
Beiträge: 42
| Zitat:
Ja, klar..., das habe ich total vergessen... Super-Tipp! Danke dafür... ![]() Zitat:
![]() Eine Überschneidung kann ich glaube ich ausschliessen. Diese Variablen werden nur genutzt, wenn ein Content-MC erzeugt wird und die werden wirklich einzeln auf Knopfdruck erzeugt. Aber trotzdem ein guter Hinweis, vielleicht aus ein paar Globals ein paar Roots zu machen... Danke, das werde ich auf jeden Fall schonmal umbauen und heute abend testen. | ||
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
"..aus ein paar Globals ein paar Roots.." das ist den belzebub durch den teufel austreiben ;-) lass die daten bei ihren objekten, da gehören sie hin.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (09-11-2006 um 10:49 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |