昨日の雨で風ひいて熱でてダウン中。
運動不足で体が弱い。
寝付けないので、ActionScript2.0を意識しながらFlashで遊ぶ。
■setInterval関数について
setIntervalはグローバル関数らしいので、呼び出した関数において、クラスプロパティが取得できない。仕様らしい。
参照:Flash-japan:setIntervalのバグ(既出でしょうか?)
Hoge(){
setInterval(test,1000);
}
private function test():Void{
trace("fuge = "+fuge);
}
}
こんな感じで、コンストラクタの中に入れてしまえば楽。
setIntervalIDは要らないぽい。なんのためにあるのかな?
■new()とattachMovie()について。
ライブラリのMovieClipにリンゲージでクラスファイルが紐付けされている場合、attachMovieでムービークリップを作ると、自然にクラスのオブジェクトもnew()される。
よって、attachMovieをする場合は、オブジェクトをnew()する必要はない。
もう少し言うと、クラスの中で関連するMCをattachする必要はない。
ていうか、ムービークリップと同じ名前のクラス(再利用しなそーなクラス)を使うのはあまり意味ないのか?
それって、今までのMCに書いてたのと同じ使い方? 別にActionScript2.0じゃなくてもできる?
このムービークリップとクラスをどうやって役割分担するかが、まだ良くわかってません。
■ソース
yajirusi01_060406.zip(9kb)
設計手法か自己流なので、詳しい方意見くれるとうれしいです。
それにしても、頭だりー。










コメント (2)
>こんな感じで、コンストラクタの中に入れてしまえば楽。
setIntervalIDは要らないぽい。なんのためにあるのかな?
ないととても恐ろしいことがおきる。
setInterval()をどこかのMCでセットした時に、setInterval()をclearInterval(intervalId)しないでそのMCを消してしまうと実は中のsetInterval()が消えない罠がある(グローバル関数だからね)。
だからclearInterval(intervalId)の引数にクリアしたいsetInterval()のIDを入れないといけないのでマジ重要。
投稿者: hatayan | 2006年04月07日 15:27
日時: 2006年04月07日 15:27
うん。書いた後に、それ思った。でも、使い道ってそれくらいなのかね。
投稿者: suga | 2006年04月07日 20:03
日時: 2006年04月07日 20:03