工房瓦版

創作関係の趣味ブログ

表示されている画面をコピッて加工する

 戦闘時の背景に表示される画像を、エンカウント前のフィールド画面をセピア色にしてブラーかけたものにしようと弄っていた。
screenshot_0_20130630233124.jpg

 フィールド上のキャラクターとか宝箱とかマップとかは、それぞれ違うレイヤーなので、1つ1つ「セピア→ブラー」の加工をする記述を書くと面倒くさいので、大体以下のようにした。



[stoptrans]
[backlay]
;-------
@iscript
//この時点での表画面を、裏にコピーして加工してトランジションする
kag.back.layers[XXX].piledCopy(0, 0, kag.fore.base, 0, 0, kag.scWidth, kag.scHeight);
//piledCopyはレイヤを重ね合わせた画像をコピーする。↑の場合、base及びその子レイヤー(つまりここまで画面に映っている状態)が全てまとめてコピーされる
kag.back.layers[XXX].setPos(0,0);
kag.back.layers[XXX].setSizeToImageSize();
kag.back.layers[XXX].visible=true;
kag.back.layers[XXX].doGrayScale();
kag.back.layers[XXX].adjustGamma(//セピア色にする
1.3, 0, 255, // R gamma, floor, ceil
1.0, 0, 255, // G gamma, floor, ceil
0.8, 0, 255); // B gamma, floor, ceil
kag.back.layers[f.layer_on_map_no].doBoxBlur(5, 5);//ブラーをかける
@endscript
;-------
;裏に準備したレイヤーを表にトランジション=============================================
[trans method="turn" time=2000 canskip=false]
[wt]

次のページ

FC2Ad

まとめ