2008年04月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

My Photos

www.flickr.com
This is a Flickr badge showing public photos from suganogasu. Make your own badge here.

最近のコメント

suga on Flashで遊び 01 -矢印-: うん。書いた後に、そ
hatayan on Flashで遊び 01 -矢印-: >こんな感じで、コン

« 第二世代iPodが新品に | メイン | 掃除中 »

Flashで遊び 01 -矢印-

昨日の雨で風ひいて熱でてダウン中。
運動不足で体が弱い。

寝付けないので、ActionScript2.0を意識しながらFlashで遊ぶ。


■setInterval関数について

setIntervalはグローバル関数らしいので、呼び出した関数において、クラスプロパティが取得できない。仕様らしい。
参照:Flash-japan:setIntervalのバグ(既出でしょうか?)

class Hoge{ private var fuge:String="FUGE";

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)

設計手法か自己流なので、詳しい方意見くれるとうれしいです。

それにしても、頭だりー。

トラックバック

このエントリーのトラックバックURL:
http://www.sugamemo.com/cgi-bin/mt/mt-tb.cgi/581

コメント (2)

>こんな感じで、コンストラクタの中に入れてしまえば楽。
setIntervalIDは要らないぽい。なんのためにあるのかな?

ないととても恐ろしいことがおきる。

setInterval()をどこかのMCでセットした時に、setInterval()をclearInterval(intervalId)しないでそのMCを消してしまうと実は中のsetInterval()が消えない罠がある(グローバル関数だからね)。

だからclearInterval(intervalId)の引数にクリアしたいsetInterval()のIDを入れないといけないのでマジ重要。

suga:

うん。書いた後に、それ思った。でも、使い道ってそれくらいなのかね。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)




About

2006年04月06日 17:46に投稿されたエントリーのページです。

ひとつ前の投稿は「第二世代iPodが新品に」です。

次の投稿は「掃除中」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

About Flashで遊び 01 -矢印-

ブログ「すがメモ/SUGAMEMO」のカテゴリ「Flashで遊び 01 -矢印-」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはEntertainmentです。

次のカテゴリはNY~BOSTON~VANCOUVERの旅です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Creative Commons License
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.