Chapter4. 拡張関数


4.1 グラフィックス関数

関数名
G@CHRCOPYC
機能
キャラクターパターンの画像をコピーする。指定した座標が中心となるようにコピー元の画像を描画する。
書式
G@CHRCOPYC(CN_Src,CN_Dest,X,Y,[,Mirror][,Scale][,rot])
《パラメーター》
CN_Src int。コピー元のキャラクターパターン番号
G@CHRLOADまたはG@CHRMAKEで生成したキャラクターパターンを指定できる
CN_Dest int。コピー先のキャラクターパターン番号
G@SETUPまたはG@CHRLOAD、G@CHRMAKEで生成したキャラクターパターンを指定できる
X 描画を行う座標の横座標。
Y 描画を行う座標の縦座標。
Mirror int。反転指定。省略値: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@SETUPで生成した値)を指定できない。
本関数の実行前にG@CHRCOLORAを指定することで、コピー元のキャラクターパターンを透明にしたり、色合いを変更することができる。
コピー元のキャラクターパターンの特定色を透過したい(キャラクターの淵を描画したくない)場合は、G@CHRLOADCKEYまたは、G@CHRMAKEで指定することができる。
用例
コピー元の画像の中心が指定した座標(X=100,Y=200)となるように描画する。
CN1 = G@SETUP( 640 , 480 , 8 , 1 )
CN2 = G@CHRLOAD("c:\donuts.bmp")
G@CHRCOPYC( CN2 , CN1 , 100 , 200 )
G@FLIP( )         // 書き込み画面と表示画面を切り替え