| |||||||
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: Jul 2002
Beiträge: 28
|
Vermutlich verstehe ich das mit den Ebenen immer noch nicht ganz. Wenn ich folgendes AS habe: this["pic1"].createEmptyMovieClip("anker",10); this["pic1"].anker.loadMovie("xy.swf); Wobei pic1 ein leerer MC ist. Wird dieser Code direkt auf _root ausgeführt, funktioniert er richtig, d.h. ein MC namens anker wird gebildet und das swf geladen. Wird der gleiche Code hingegen in einem MC ausgeführt, der auf _root sitzt, also z.B. _root.instance1, so kreiert createEmptyMovieClip keinen Clip mehr, und natürlich macht auch loadMovie, wie üblich in heiklen Fällen, gar nichts mehr.... Vielen Dank für Eure Hilfe! |
| | |
| | #2 (permalink) |
| Hirnverbrannt Registriert seit: Aug 2001 Ort: AUSTRIA
Beiträge: 2.020
|
Hmm wenns in dem MC einen weiteren namens Pic gibt sollte es eigentlich funken.
__________________ 50 Seiten hardcore ActionScript von den Grundlagen bis zu 3D Darstellungen.... eben eine Abendlektüre. Dogs fucked the Pope, no fault of mine. Watch out! ... Why money? My name is Brinks; I was born ... born? Get sheep over side ... women and children to armored car ... orders from Captain Zeep.(Hunter S. Thompson) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jul 2002
Beiträge: 28
|
Das sieht aber der Debugger anders. Der meint nämlich, dass es einen Target Pfad namens _level0.instance1.pic1 gibt. Mach ich trace(this) auf instance1, so ergibt sich das gleiche Bild (_level0.instance1). Interessanterweise funktioniert auch this["pic1"].loadMovie("xy.swf") auf instance1 problemlos, also kennt der Interpreter den Pfad. Sobald ich aber die zusätzliche Indirektion mit "anker" habe, ist Ende Fahnenstange. |
| | |
| | #7 (permalink) | |
| filmtip: snatch Registriert seit: Oct 2001
Beiträge: 1.562
| Zitat:
...bedeutet, dass _root['pic'] oder eben this['pic'] ein gültiger pfad ist und es bedeutet auch, dass _root.mc['pic'] kein gültiger pfad ist. weil es kann nicht sein, dass das gleiche script auf _root und in einem mc funktionieren kann. Folglich stimmt irgend- was bei Deinen Angaben nicht. Up doch mal die fla. Geändert von Skyla (04-08-2003 um 17:43 Uhr) | |
| | |
| | #8 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg / Stuttgart
Beiträge: 4.338
|
das problem ist doch das this das du da verwendest. Wenn du den Pfad relativ zu dem MC angeben willst, musst du es so machen: ActionScript:
absolut und vermutlich besser in diesem Fall wäre einfach ActionScript:
aber warum überhaupt xxx["pic1"]... und nicht gleich xxx.pic1.... oder steht das ganze noch in ner Schleife?? |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Jul 2002
Beiträge: 28
|
Hier der Code: for(var i = 0; i < adsLength; i++) { var aPic = "pic"+(i + 1); this[aPic].createEmptyMovieClip("anker1", 10); var toLoad = path + ads[i] + "/" + ads[i] + "Ad.swf"; this[aPic].anker1.loadMovie(toLoad); ..... } Noch ein paar Erklärungen: in _root gibt es genau eine Instanz des Filmes "Kino", "kino_mc". kino_mc entspricht in diesem Script "this". In kino_mc sind mehrere leere MCs plaziert (pic1 ...n, welchen jetzt irgendein SWF zugewiesen wird, deren Namen im Array "ads" stehen. Da diese Filme jedoch clickable sein müssen, muss denn Pics noch ein weiterer Film zugewiesen werden, da loadMovie bekanntlich alle Events wegbläst.... Am einfachsten geschieht dies, möchte man meinen, mit createEmptyMovieClip. Nur, createEmptyMovieClip kreiert offenbar nichts, entsprechend funzt auch loadMovie nicht. Der Debugger zeigt anker1 in der Filme-Hierarchie auch nicht an. Mehrere Dinge sind hier irritierend: 1) Mache ich im obigen Script ein trace(this[aPic]), so wird wunderbar angezeigt: "_level0.kino_mc.pic1". Wenn Flash schon weiss, wo ich bin, weshalb tut dann createEmptyMovieClip nichts? 2) Verzichte ich auf die Indirektion mit "anker1", so ergibt sich folgender Code: for(var i = 0; i < adsLength; i++) { var aPic = "pic"+(i + 1); var toLoad = path + ads[i] + "/" + ads[i] + "Ad.swf"; this[aPic].loadMovie(toLoad); ..... } Klappt hervorragend! 3) Verwende ich das in der Einleitung gezeigte Codesegment direkt unter _root, also nicht in kino_mc, klappt die Sache auch bestens. Im Unterschied zum Grundproblem zeigt der Debugger hier anker1 in seiner Hierarchie an. Thanks for dumping your brain! |
| | |
| | #10 (permalink) |
| tiefst-schlaefer Registriert seit: Aug 2002 Ort: bratwurstmetropole
Beiträge: 174
|
versuchs doch mal mit dem erhoehen der ebenen, ActionScript:
in beiden anweisungen sollten - je nach menge von adsLength - die mc´s pic1 - picn erstellt werden. im uebrigen ist adsLength wohl ne variable, also kein array "ads" bei dem mit length (ads.lentgh) die anzahl der eintraege ausgelesen werden soll ??? ansonsten kann ich keine weiteren unstimmigkeiten in deinem script entdecken; sollte also laufen. schoenen tag - gruesze j_poul |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |