Frame in MC aus Hauptebene ansteuern?

Kopfballstar

Erfahrenes Mitglied
Hallo,

ich stehe vor einem Problem. Ich möchte folgendes:
Hauptfilm an Frame 25 -> MC_1(Frame 1) abspielen und stoppen
Hauptfilm an Frame 50 -> MC_1(Frame 2) abspielen und stoppen

und so weiter....

Habe eine Steuerungseben erstellt wo ich an Frame 25 sage: MC_1.gotoAndStop(1);
etc....

Aber leider funktioniert das nicht. Wer kann mir helfen?
 
Hi,

Du kannst nicht auf Frames zugreifen, die in diesem Moment nicht angezeigt werden: Frames, die hinter dem aktuellen liegen, liegen quasi "in der Zukunft" und sind für Flash nicht sichtbar.

Gruß
.
 
Hallo,
aber das muss doch gehen. Vielleicht hab ich das schlecht beschrieben.
Also der Hauptfilm, ein Zauberwürfel (diese Dinger mit mehreren Farben die man solange drehen muss bis jede Seite aus einer Farbe besteht) , läuft 50 Frames lang. Der Würfel ist "3 Dimensional", es sind nur 27 Flächen (die Movieclips) sichtbar.
Befindet sich der Hauptfilm nun an Frame 25 soll jeder Movieclip eine neue Farbe annehmen, an Frame 50, also am Ende, sollen die Farben dann richtig verteilt sein, also der Würfel gelöst.
Habe die Movieclips so gemacht das jeder aus 4 Frames besteht. In jedem Frame hat eine Würfelfläche eine andere Farbe. 4 Frames, weil der Würfel 4mal seine Farben wechsel soll.
Es muss doch nun gehen das die Flächen Ihre farbe wechseln und deshalb dachte ich es wäre am logischten das an Frame 25 im Hauptfilm der MC mit Frame 1 gezeigt wird, im Hauptfilm an frame 30 wird der MC mit Frame 2 gezeigt und so weiter...
 
Hi,

Du kannst in den entsprechenden Schlüsselbildern des Hauptfilms Variablen setzen, auf die die MovieClips zugreifen, und dann ggf. selbst einen anderen Frame ansteuern:
Code:
// z.B. in Frame 25 des Hauptfilms:
farbe_1 = 2;
Code:
// In einem der dorigen MCs:

gotoAndStop(_parent.farbe_1);

Andererseits würde ich eine solche Animation nicht mit Frames und Zeitleisten realisieren, sondern die Clips einfach (in Intervallen) per Script ändern.

Gruß
.
 
Und was müsste ich machen wenn ich deinen Lösungsvorschlag verfolgen würde? Bin recht neu in Flash und weiß grad nicht genau was du meinst.
 
Hi,

ich habe noch nicht ganz verstanden, wie Dein Endergebnis aussehen soll, aber prinzipiell könntest Du für jeden MovieClip ein Array aus Framenummern erstellen, welches in einem Intervall durchlaufen wird:
Code:
// als Beispiel nur für einen MC:

mc1.frames = function(1, 3, 2, 4, 2, 4, 3, 2, 1, 3, 4);

var iv = setInterval(this, "nextColor", 1000);

var current = 0;

function nextColor() {
  current ++;
  mc1.gotoAndStop(mc1.frames[current]);
  if (current >= mc1.frames.length) clearInterval(iv);
}

Gruß
.
 
Hi,

Du kannst in den entsprechenden Schlüsselbildern des Hauptfilms Variablen setzen, auf die die MovieClips zugreifen, und dann ggf. selbst einen anderen Frame ansteuern:
Code:
// z.B. in Frame 25 des Hauptfilms:
farbe_1 = 2;
Code:
// In einem der dorigen MCs:

gotoAndStop(_parent.farbe_1);

Andererseits würde ich eine solche Animation nicht mit Frames und Zeitleisten realisieren, sondern die Clips einfach (in Intervallen) per Script ändern.

Gruß
.

Hallo,

diese Lösung funktioniert 1a und ist im prinzip genau der gleiche Weg den ich verfolgt habe, nur andersrum. Hab halt mal wieder zu kompoliziert gedacht ;-) Danke!
 
Zurück