AS3でのリンケージが分かった!!

FlashCS3でのリンケージはこちらに書き直しました。
AS3でリンケージクラスを使うときはpublicにしないと使えない

※Flash9 アルファ版でのスクリプトテストです

結論から言うと、new リンケージ名。そーのまんまや!!
サウンドのロードは分かった。

  • コンストラクタ:new Sound()
  • メソッド:load/play/close
  • プロパティはいろいろ。

今までのattachSoundやstartがなくなった? みたいなので、以下のようにやる。コード的にはシンプルになってるけど…具合が悪い。

import flash.media.Sound;
var s1:Sound=new Sound();
s1.load(new URLRequest("s.mp3"));
s1.play();

これはswfと同階層にs.mp3というのを置いている場合の話。
なので使用する際はサウンドのロードが発生してしまいます。
これじゃダメなんだよぅ…リンケージしたサウンドを使いたいんだよぅ…

追記。わかった!

linkage名をsouとしたサウンドオブジェクトを用意した場合、

import flash.media.Sound;
var s1:sou=new sou();
s1.play(0,1);

これだけでいいみたい!!
playメソッドの引数は今までstartメソッドでやってたのと同じ。(開始位置,ループ回数)
linkageがそのままクラスになる、っていうことはFlex2の説明に載ってたけど、まさかホントにそのままとは!!
これは使いやすいかも。
今まではいちいちサウンドオブジェクトを用意してた上で読み込んでattachしてたけど、リンケージをそのままクラスとして扱えるなら話が早くないですか?
こりゃあ凄いのが出来そうな予感!
Flex2が正式リリースされてるからこれ以上の言語仕様が変わることはなさそうなので、本格的にAS3を勉強してもいいかも。

この記事には、カテゴリ AS3 タグは , がつけられています。