flashで簡単にカラオケ文字を実現する方法

flash でカラオケ文字を実現するための class を作りました。
http://pm11op.xii.jp/pm11op/KaraokeMethod/Karaoke.as


デモ
http://pm11op.xii.jp/pm11op/KaraokeMethod/test.html



使い方は以下。
karaoke クラスを使う前に 子にTextField を持つMovieClip を作る必要があります。
その TextField 内の文字列が karaoke 化されます

// クラス読み込む。クラスパスに入れといたら不要?
import karaoke.as

// test 用の MovieClip 作成
var mc:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());

// TextField 作って、Format を指定
var my_txt:TextField = mc.createTextField ("my_txt", 1, 50, 50, 500, 100);
my_txt.multiline = false;
my_txt.wordWrap = false;
var my_fmt:TextFormat = new TextFormat ();
my_fmt.color = 0x000000;
my_fmt.size = 30;

// この文字がカラオケ化される
my_txt.text = "らららららららららららららららら";
my_txt.setTextFormat (my_fmt);
mc._x = 25;
mc._y = 150;

// インスタンス化して、時間・色をセット。
var krok:Karaoke = new Karaoke();
krok.setTimer(2.5);
krok.setColor(0xff0000);

// MovieClip と TextField を渡すと実行される
krok.run(mc, my_txt);

// 無限に繰り返す
setInterval(function(){
 krok.reset();
 my_txt.setTextFormat (my_fmt);
 krok.run(mc, my_txt);
 }, 3000);
  • setTimer メソッドで時間を設定(秒)
  • setColor メソッドで、変更後の文字色を設定
  • run メソッドでカラオケ化
    • 第一引数は textfield を含む MovieClip への参照
    • 第二引数はその textfield
  • reset メソッドで終了。(ここではその後さらに run して無限ループしてます)


参考にしたのはこちら。2003年のソースです。
FLASHで作ろう カラオケ文字


class 作る作法とか、AS2 と AS3 の違いとかまだよくわかんないす。
試用版 flash の使用期限があと14日。。。