| |||||||
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 2003
Beiträge: 12
| loadMovie und stop()
Hi, ich möchte mittels loadMovie ein externes Flash laden, dieses soll aber erst dann anfangen zu laufen, wenn eine gewisse Anzahl von Bytes geladen wurden. Also eigentlich ein klassisches Preloding. Momentan sieht das so aus: ActionScript:
Irgendwie stehe ich da auf dem Schlauch. Gruss, Dirk |
| | |
| | #2 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
Hi, setz doch einfach im zu ladenden Film ein stop() auf den ersten Frame... Oder schreib ins onEnterFrame: ActionScript:
Grüße Sascha
__________________ 12:15, press return |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 12
|
Das mit gotoAndStop(1) hat leider nicht funktioniert. Auf die externen Flashs habe ich leider nicht immer einen Einfluss, deshalb kann ich dort kein Stop einbauen. Bevor ich noch weiter rumexperimentiere, würde ich auch gerne wissen, _warum_ es nicht funktioniert? Gruss, Dirk |
| | |
| | #4 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
das hängt davon ab, wie dein einzuladendes Movie aussieht. Das this.mov.stop(); direkt nach dem loadMovie klappt meistens nicht, da es quasi gelöscht wird, sobald das Movie geladen ist. Dass gotoAndStop(1) nicht funktioniert liegt vermutlich daran, dass im swf die Animation nicht auf der HZL stattfindet, sondern in einem MC im ersten Frame...D.h., das Teil steht ohnehin auf dem ersten Frame. Du müsstest also den Instanznamen des MCs kennen, der dort liegt und ihn bitten, zu stoppen... also this.mov.meinmc.stop(); Grüße Sascha
__________________ 12:15, press return |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 12
|
Das ist ja ein Mist. Gibt es da nicht sowas wie einen generisch Namen oder eine Instanznummer, auf die man da zurückgreifen kann? Und wieso funktioniert ein this.mov.stop() nicht, was ja den gesamten Film anhalten soll, aber ein untergeordnetes this.mov."meinmc".stop() soll funktionierten? AS ist doch eine komische Sprache :-))) Gruss, Dirk |
| | |
| | #6 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
Du kannst mittels for(vars in this.mov) { trace(vars); } sehen, welche Variablen, Objekte etc. dort rumliegen. Mit trace(eval(vars) instanceof MovieClip); siehst du, ob es sich um einen MC handelt (du kannst auch typeof verwenden). Das spuckt dir dann den Namen aus. Damit sollte es dann gehen (wenn nicht mehrere MCs dort rumliegen)... this.mov.stop(); stoppt eben nicht den gesamten Film, sondern nur genau die angesprochene Zeitleiste. Die wird mit Sicherheit auch gestoppt, darin liegende MCs allerdings nicht. Wieso kennst du eigentlich den Aufbau der swf nicht? Grüße Sascha
__________________ 12:15, press return |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 12
|
Dann werde ich mal weiter experimentieren... Im Moment kenne ich den Aufbau, da es sich ja um meine Test-SWF handelt. Spätere SWF sollen aber auch von Dritten kommen können, und deshalb möchte ich eine möglichst generische Lösung haben. |
| | |
| | #8 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
und? wie sieht dein swf aus? ist da nun ein MC, oder nicht? naja, löblich, löblich, generische Lösungen sind natürlich immer toll. Aber prinzipiell müsstest du jeden MC, den du findest, stoppen. Nur welchen MC musst du danach starten, damit der Film läuft... Das findest du schätzungsweise nie heraus. Grüße Sascha
__________________ 12:15, press return |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 12
|
So, habe Deine traces mal eingebaut. Die einzige Variable, die es dort gibt ist "r" und das ist auch keine Instanz von MovieClip. Bei diesem Test-Flash handelt es sich um einen QuickTime-Movie, dass ich importiert und dann abgespeichert habe. Aber auch ein Zugriff über this.mov.r.stop() bringt nichts - kann ja auch nicht, wenn es kein MovieClip ist. Wie kriege ich dieses verdammte Flash nun dazu anzuhalten? Ist ja zum verrückt werden... Gruss, Dirk |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 12
|
So, jetzt geht es mit this.mov.stop(). Der Unterschied ist jetzt nur, dass ich diesen Aufruf auch in die onEnterFrame-Funktion eingebaut habe. Das Aufrufen von stop() direkt nach dem load hat tatsächlich nichts gebracht. Aber nun teste ich in onEnterFrame, ob schon genügend geladen wurde und starte den Film dann. Wenn nicht, rufe ich nochmal stop() auf. Das führt jetzt endlich zu dem gewünschten Verhalten. Puuh. Das hat ja ganz schön lange gedauert :-) Gruss und Danke, Dirk |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 12
|
Wahrscheinlich, weil ich es auch nur direkt nach dem loadMovie aufgerufen hatte und nicht mehr im onEnterFrame. So wie Du das vorgeschlagen hattest, konnte ich es nicht machen, da noch ein paar andere Berechnungen in onEnterFrame gemacht werden müssen. Eine davon auch nur einmal, etc.. Ich war fälschlicherweise davon ausgegangen, dass das stop() oder gotoAndStop(1) nach dem loadMovie funktionieren müsste. Tut es aber nicht. Genausowenig kann ich nach dem loadMovie direkt die Grösse der Datei auslesen, etc.. Das musste ich auch in onEnterFrame machen. Naja, wieder was gelernt :-) Gruss, Dirk |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |