[MX 2004] Synchronisieren von MC's

luke_the_duke

Erfahrenes Mitglied
Hallo zusammen!

Ich hab mal ein bisschen mit dem Fisheye-Effekt rumgespielt, der in diesem Forum ziemlich gut erklärt ist. Er beruht auf geklonten Hintergrund-Bildern usw. Hier der Link.

Nun meine Frage:
Um auch einen MC als Hintergrundbild zu wählen, der Animationen beinhaltet, müsste man die duplizierten Bilder der Masken-MC's irgendwie mit dem Hintergrund-Bild synchronisieren können. Ich habe nichts wirklich Sinnvolles hingekriegt, nur so eine verkrüppelte gotoAndPlay ("aktuelles Frame des Hauptfilmes")-Funktion geschrieben, die aber leistungsintensiv und nicht sonderlich elegant ist.
Gibt es da eine andere Möglichkeit?

Gruss

Lukas
 
Hi,

schau mal in den Anhang - der Hintergrund und die Clips in den "Fisheye"-MCs sind Instanzen des selben (animierten) MovieClips.

Gruß
.
 

Anhänge

  • fisheye2.zip
    114,5 KB · Aufrufe: 11
Hallo Datic,

super, dein Script, in etwa das, was ich suche. Ich habe jedoch nicht ganz alles nachvollziehen können , was du da gescriptet hast und darum gehts mir schlussendlich, ich will das ja verstehen und nicht nachbauen.

1. Du definierst 4 Variablen, deren Sinn ich nicht erkenne:

PHP:
var bx = fisheye._x;
var by = fisheye._y;

var bw = fisheye.clip._width;
var bh = fisheye.clip._height;

Für was braucht man die?

2. Die Duplikate des "main_mc" synchronisierst du ja irgendwie mit dem Hintergrund. So wie ich das verstanden habe, ist eigentlich jeder MC, egal welcher Art, unabhängig vom aktuellen Frame der Main-Timeline und beginnt bei Frame 1 abzuspielen. Wie hast du das gelöst?
Funktioniert das auch mit einem "main_mc", dessen Animationen nicht mit Tweens, sondern mit AS funktionieren?

3. Geht das dem Flash-Player nicht ziemlich an die Substanz, wenn man auf der Main-Timeline einen onEnterFrame-Event mit for-Schlaufe für jedes Duplikat laufen lässt?

Dank und Gruss

Lukas
 
Aha, nun hab ich so ziemlich alles verstanden. Aber ich hab wohl mein Problem schlecht erklärt:

Wenn man natürlich im ersten Keyframe alle Duplikate anlegt, spielen sie ziemlich gleichzeitig ab. ABER ich möchte gerne zu jeder Zeit ein Duplikat des Fischauges anlegen können und zwar so, dass die Duplikate immer noch synchron zum Hintergrund abgespielt werden.
Naja, ich klemm mich mal selbst dahinter, melde mich wenn ich etwas rausgefunden habe. Dank dir

Gruss

Lukas
 
Hi,
PHP:
function synchronize(source_clip) {
    var destframe = source_clip._currentframe;
    setAllTo(destframe);
}

// Und:
function setAllTo(destframe) {
    main_mc.gotoAndPlay(destframe);
    for (var i=0; i<count; i++) {
        fish[i].clip.gotoAndPlay(destframe);
    }
}
(der erste Clip auf der Bühe muss den Instanznamen "main_mc" bekommen.

Gruß

P.S.: die von Dir erwähnten Variablen habe ich zwischendurch verwendet, und bloß vergessen zu löschen. ;)
.
 

Neue Beiträge

Zurück