Chapter4. 拡張関数


4.1 グラフィックス関数

関数名
G@CHRCOPY
機能
キャラクターパターンの画像をコピーする。指定した座標がコピー先の左上となるようにコピー元の画像を描画する。コピー元の任意の矩形をコピー先の任意の矩形へコピーを行う。
書式
G@CHRCOPY(CN_Src,CN_Dest[,Mirror][,Scale][,rot])
《パラメーター》
CN_Srcint。コピー元のキャラクターパターン番号
G@CHRLOADまたはG@CHRMAKEで生成したキャラクターパターンを指定できる
CN_Destint。コピー先のキャラクターパターン番号
G@SETUPまたはG@CHRLOAD、G@CHRMAKEで生成したキャラクターパターンを指定できる
Mirrorint。反転。省略値:0。
0
:通常
1
:上下反転
2
:左右反転
3
:上下左右反転
Scale float。省略値:1.0。
画像を拡大縮小して描画する。1.0を等倍として2.0で2倍、0.5で半分のサイズで描画する。
拡大縮小はコピー先の左上を軸に処理する。
rot float。回転。省略値:0。
画像の描画角度を0〜360.0の度で指定する。
回転はコピー先の中心を回転の中心点として処理する。
解説
コピー元の任意の矩形をコピー先の任意の矩形へコピーを行う。重ねて描画した場合は後の描画で上書きする。3D描画と組み合わせた場合は一番手前に描画する。描画順に影響なく奥行きを指定したい場合はG@CHRCOPY2、G@CHRCOPYF2、G@CHRCOPYC2を使用すると良い。
矩形領域は G@CHRRECT で指定しておく必要がある。
コピー元とコピー先で異なる矩形サイズを指定すると、コピー元の矩形がコピー先の矩形に合わせて拡大縮小が行われる。
コピー元にプライマリ画面(G@SETUPで生成した値)を指定できない。
本関数の実行前にG@CHRCOLORAを指定することで、コピー元のキャラクターパターンを透明にしたり、色合いを変更することができる。
コピー元のキャラクターパターンの特定色を透過したい(キャラクターの淵を描画したくない)場合は、G@CHRLOADCKEYまたは、G@CHRMAKEで指定することができる。
用例
読み込んだキャラクタを画面に表示します。
CN1 = G@SETUP( 640 , 480 , 8 , 1 )
CN2 = G@CHRLOAD("c:\donuts.bmp")
G@CHRCOPY( CN2 , CN1 )
G@FLIP( )         // 書き込み画面と表示画面を切り替え