| |||||||
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) |
| bim Registriert seit: Sep 2004 Ort: Wien
Beiträge: 21
|
Ich programmiere jetzt seit Tagen an folgendem Problem. Es gibt einen Hauptfilm, der die Steuerung übernimmt mit einem Start/Stop Button und einer Fortschrittsanzeige. In diesen Hauptfilm lade ich eine beliebige swf-Datei, die x mcs haben kann in x Verschachtelungsebenen. Wenn ich im Hauptfilm auf Start klicke, läuft die swf Datei los. Bei Stop bleibt sie stehen und beim nächsten Start gehts an Ort und Stelle weiter. Mein Script durchläuft alle Ebenen von mcs, stopt sie und schreibt dabei in ein Array den Namen des jeweiligen mcs und in ein zweites die aktuelle framenr weg. Beim Starten wird dieses Array ausgelesen und die mcs sollteneben genau dort weiterlaufen. (Haut auch noch nicht ganz hin, aber fast) Das Problem: Einige der MCs stehen zum Zeitpunkt des Klicks auf Stop auf einem Frame, der ein stop(); im script hat. Die sollen erst dann weiterlaufen, wenn in diesem frame plazierte mc abgelaufen ist (der hat dann jeweils ein_parent.nextFrame(); im letzten Frame). Wenn ich nun die gestoppten mcs aus dem Array auslese und mit gotoAndPlay(framenummer); starte, dann wird das stop(); in diesem Frame ignoriert. Das bringt den Ablauf komplett durcheinander! Ich hab null idee, wie ich das abfangen kann, bzw. wie ich feststelle, welche die "untersten" mcs sind, um nur die zu starten. Irgendwie kommt mir die Lösung unheimlich kompliziert vor-geht das nicht einfacher? Gibt's nicht sowas wie ein mc._pause? Birgit |
| | |
| | #2 (permalink) |
| Steffen G. Registriert seit: Aug 2001 Ort: Ba-Wü
Beiträge: 4.123
|
hmm ich bin nicht so der crack aber du könntest ja nen prototype schreiben der pause heißt und jedem mc den du erstellst diese methode dann erben dann kannst du per klick ne globale variable setzen auf die die pause methode von jedem mc angesprochen wird und dann sollte es gehen... ich weiß nicht ob die erklärung irgendwas bringt oder ob sie denn korrekt ist aber ich würde es so versuchen cu mfg Tschdaeff |
| | |
| | #3 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
| ActionScript:
stopt und startet alle mc´s in einem film - und zwar an der stelle, woe sie angehalten wurden. (mal so aus m holen bauch raus... ![]() )greetz kelor |
| | |
| | #4 (permalink) |
| bim Registriert seit: Sep 2004 Ort: Wien
Beiträge: 21
|
also über prototypen hab ich mich mal schlau gemacht, waren mir bis jetzt noch nicht bekannt. So wie ich das verstanden hab, müsste ich den prototyp dann jeweils in jedem mc anlegen, den ich später in den hauptfilm lade. Ich möchte aber gerne jeden beliebigen film in den hauptfilm laden können und die steuerung sollte trotzdem funktionieren. Danke, kelor, für das script. Sowas ähnliches hast du auch schon im August 2004 hier gepostet. das hab ich mir auch als vorbild genommen. ich bin nur auf das selbe problem wie damals seblll gestossen. wenn nämlich der mc beim anhalten am currentframe ein stop(); hat, weil dort ein untergeordneter mc zuerst fertig laufen soll, dann wird mit deinem script beim starten das stop ignoriert, der mc läuft weiter und der untergeordnete mc wird übersprungen. auch wenn ich im currentframe starte und nicht erst im nächsten. du hast damals als letzten hinweis gemeint, man müsste jeden mc schon beim starten in ein array pushen und nicht erst beim stoppen. da hab ich drüber nachgedacht, kann aber keinen unterschied finden. kann ich irgendwie feststellen, ob ein mc im aktuelle frame mit stop angehalten wurde (ohne das separat in eine variable/array zu schreiben)? dann könnte ich nur die beim stoppen mitschreiben, die wirklich laufen? lg Birgit |
| | |
| | #5 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
hmmm..lass mal überlegen... du könntest bei allen mc´s bei einem bild, dass einen stop hat noch ne var auf tue setzen. also mc1 läuft bis bild 15...dort ist ein stop();, dann: ActionScript:
und in bild 16, wo kein stop mehr ist, dann: ActionScript:
nun könntest du bei allen mc´s in der schleife immer erst abfragen, ob mc[i].isStopped == false´; ist, wenn ja, soll er stoppen und ins array pushen... wenn nein, dann nicht... greetz kelor |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |