Sowas ist auf jeden Fall extrem schwierig in Flash.
Theoretisch kannst du bequem den (vorher importieren ) Sound aus der Bibliothek
auf eine Zeitleiste ziehen und dann an der entsprechenden Stelle deine Animation
hinzufügen ( auf eine weitere Ebene ).
Praktisch klappt das allerdings rein gar nicht,
da die wirkliche Framerate von Prozessor, Betriebssystem, Speicher, Grafikarte, im
Browser oder nicht, mit Html oder direkt, und einigen weiteren Faktoren, abhängt.
Das bedeutet das jeder Rechner die Animation an einer (zeitlich) anderen Stelle zeigen
würde. Ein schneller zu früh und ein lahmer Mac viel zu spät.
Unabhängig davon, dass du das ganze animieren willst,
würde ich sowas nur mit Millisekundenbasierten Actionskript realisieren.
Den Sound würde ich dynamisch laden:
PHP:
s = new Sound;
s.loadSound("datei.mp3");
s.start();
Und dann jede menge setIntervals.
Das folgende Skript gibt nach einer Sekunde ( 1000ms ) den Satz "Tach auch." aus:
PHP:
IV = setInterval ( this, "trace_tach", 1000)
function trace_tach()
{
clearInterval ( IV )
trace ( "Tach auch.")
}
Ein SetInterval speichert man immer in einer Variabel ( IV = setInterval... ),
welche die Aufgerufene Funktion auch wieder löschen sollte ( clearInterval ),
ansonsten hast du alle 1000ms ein "Tach auch.".
Der 1. Paramter von SetInterval ist der Pfad wo die Funktion liegt, der zweite der Funktionsname als String, und der dritte die Millisekunden, jeder optionale weitere ist dann für die Funktion die du Aufrufst.
Letztendlich müsste man durch mehrfaches Ausprobieren rausfinden wann nach wieviel Millisekunden welcher Text kommt.
Und dann für jeden Text einen SetInterval-Aufruf mit der entsprechenden Zeit haben.
Das würde dann in etwa sicherlich so aussehen, nur einige Zeilen mehr:
PHP:
//angenommen man hat ein textfeld mit der variabel "ausgabe" wo der text erscheinen soll
function schreib_text ( text, interVal_ID )
{
clearInterval ( this["ST" + interVal_ID] )
ausgabe = text
}
ST0 = setInterval ( this, "schreib_text", 823, "LaLalalalaaaaa", 0 )
ST1 = setInterval ( this, "schreib_text", 1506, "Lululuuuuhhh", 1 )
ST2 = setInterval ( this, "schreib_text", 1865, "ooooo o oo ", 2 )
ST3 = setInterval ( this, "schreib_text", 2265, "LaLalalalaaaaa", 3 )
ST4 = setInterval ( this, "schreib_text", 3565, "LaLalalaaaaa", 4 )
....
.....
Hoffe das hat ein bißchen geholfen und nicht zuviel verwirrt.