私はフラッシュで eCard を書いています。ユーザーがボタンを押した後に一連のアニメーションをシーケンスしたいと考えています。1 つ目は、MovieClip displayScreen_mc の 2 ~ 60 行で再生されるシェイプ トゥイーンです。2 つ目は、私が作成した TypeWriter という別のクラスの関数で、TLFTextField に一度に 1 文字ずつ文字列を書き込みます。(そのコードは完全に機能しています。)
問題: 文字列配列を反復処理したい。反復ごとに gotoAndPlay を実行し、次に TypeWriter を使用して文字列を書き出します。私が持っているコードは次のとおりです。
var greetings:Array = new Array( "string 1, string2, string3, etc " );
//Onclick functiont to start sequence of events..
function displayInvitation(event:MouseEvent):void
{
var tw = new TypeWriter();
var index:int = 0;
while ( index < greetings.length )
{
displayStatic();
tw.writeText(greetings[index], 100, displayScreen_mc.displayText);
index++;
}
}
function displayStatic():void
{
displayScreen_mc.gotoAndPlay(2);
}
これらはすべて、ステージ上のアクション レイヤーのアクション スクリプトに記述されています。TypeWriter は、writeText 関数を含む別のクラスです。tw.textWrite が呼び出される前に、displayStatic を終了させたい。gotoAndPlay を関数内に保持したいのは、将来そこに何かを追加したいかもしれないからです。
addEventListener を使用して、最初の関数の完了を待ってから 2 番目の関数を呼び出そうとしています。誰にも解決策がありますか?