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日。。。