Soundクラスとか基本クラスを拡張する場合のメモ

AS3dクラスの拡張メモ

playをオーバーライドして、最後に再生した時間を記録しておく。
一定時間内に連続再生しないようにすれば、ロールオーバー連打で音が壊れたりするのを防げる。

しかしSoundのような基本クラスを、気軽にオーバーライドしてしまうと他のフレームワークと組み合わせて使えなくなったり、あとでもっといい実装思いついたときに過去の資産が台無しになってしまう。 

というか、基本クラスの拡張はFlash9とFlexで共通して使えるクラス設計を考えないと、スッゲェ時間を無駄にする羽目になる。

・Flex2では、音をエンベッドすると強制的にスーパークラスがSoundになってしまうので、Soundを継承したクラスを作っても使いづらい。
・Flash9 Preview では、エンベッドにクラスを選べるが、ライブラリアイテム毎にサブクラスを用意しなければならないので、カスタムクラスの割り当てはメンドイ。

ので、基本クラスを拡張するのは正直、あまりオススメできなさそう。

var sh:SoundHelper = new SoundHelper( mySound )
sh.play() //こいつが重複再生をチェックする

ただヘルパー系は使い終わったらちゃんとKillしないと、深刻なメモリーリークを起こすことので注意。

コメントをどうぞ