2011年11月07日

FlashCS5.5とFlashDevelopでAIRアプリを作るvol.3 setter、getterが便利!

airflash

これまで無駄にコードが長くなる気がして使った事なかったんだけど、set/getがやたら便利ということが分かったのでメモ。調べた中ではここが分かりやすかった。

自堕落なぺぇじ Setter/Getterについて
http://d.hatena.ne.jp/corrupt/20110613/1307924410

ここに書いてあること以外だと、「変数の変化をトリガーに出来る」(って言い方でいいのかな?)のが大変便利。「処理をしたらこの変数を入れ替える」だと、うっかり別ルートで変数の中身入れ替えたりしちゃって、「なんでこうなるの?」って事がちょいちょいあったんだけど、setter内に処理を書くことで、「この変数が変化したらこの処理実行」ってことができる。変数の監視が出来るというか。stage.addEventListener(Event.EnterFrame,func)で変数変化を常時監視とかスマートじゃないから、この方法はとても良い気がする。推奨されてなかったりするのかな。当然dispatchEventと組み合わせることも出来るので、子クラスの変数が変化したことを親クラスで感知することも出来る。すばらしい。

もちろんint以外の変数の場合も使えるので、こんな感じでMovieClipにsetter設置することも可。

private var _TARGET_MC:MovieClip;
public function set TARGET_MC(movieclip:MovieClip):void{
_TARGET_MC.visible=false;//現在_TARGET_MCに格納されてるMovieClipを消して
_TARGET_MC=movieclip;//新しく_TARGET_MCにMovieClip格納して
_TARGET_MC.x=stage.stageWidth/2;//移動
_TARGET_MC.y=stage.stageHeight/2;
}

とか。変数は常に一個しか値格納しないので、処理が重複することがない。便利。ただsetterを高機能にすることが推奨されてるかは不明。別に問題ない気はするけどどど。switch文とか入れて、格納された値によって処理振り分けたりしたら、読みやすいコードが書ける気がする。うーむ。

sarustar at 17:48│Comments(0)TrackBack(0)このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote ActionScript3 




トラックバックURL

>

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔