« December 2006 | Main | March 2007 »

February 20, 2007

バージョンチェック(JP)

毎回、同じXMLをリモートからロードさせないために、ローカルに書き込んだデータも使いたいが、更新したXMLは、リモートから読み込みたい。その場合は、バージョンを書き込んだ小さいテキストデータを読み込み、過去にローカルに書き込んであるバージョンの有無と、比較をする。ローカルのバージョンが古い場合は、リモートから読み込む。新しい場合はローカルのデータをもとにデータを作成する。セーブするデータ量を減らすためにstring型で保存する。カスタムクラスのまま保存すると、ロードした後にそのクラスのメソッドが使えない。実データが更新されたものかを確認できるように、同様にバージョンを付ける。セーブは、バージョンチェックで使ったバージョンと、同じナンバリングをして、一致した時のみセーブするようにすると保守性が上がる。

February 1, 2007

WaterEffect(JP)

今年初となるflashの記事はWaterEffect、いわゆる波紋効果。bitmapで波紋を表現する方法は簡単な方法がある。もともとビットマップデータはx,y方向のマトリックス状で構成されている。波というのは平面グラフィックスの場合、時間軸を加えた3次元方向に行われるので、flashの場合frameの移行に沿ってbitmapに変化を加えればよい。bitmapの場合、waveの公式はもともと定義されていて、ある点とその上下左右の点に対して波の高さを考えればよい。大きさmaxx,maxxyのbitmapでは、新しい時間_nw、座標x,yの_waveの大きさnは、現在の時間_ctと減衰係数_dampより次のようにもとまる。
for(var y=1;y<_maxy;y++){
	for(var x=1;x<_maxx;x++){
		n=(_wave[_ct][y][x-1]+_wave[_ct][y][x+1]+_wave[_ct][y-1][x]+_wave[_ct][y+1][x])/2-_wave[_nw][y][x];
		n=n-(n/_damp);
		_wave[_nw][y][x]=n;
	}
}
処理が重いのでプレビューできる方(>1GHz推奨)はどうぞ。
This text is replaced by the Flash movie.