関数群名
SACT2
機能
スプライトのCGを別のスプライトへコピーします。
定義
void SP_COPY(int nSP1, int nSP2, int bCopyState=false)
// スプライトをコピー
// nSP1へnSP2のCGがコピーされる
// nSP1のサイズはnSP2のサイズに変更される
// bCopyState=falseの場合、サイズ以外の情報(表示位置など)は変更されない
// bCopyState=trueの場合、表示位置などの状態もすべてコピーされる
void SP_COPY(int nSP1/*dst*/, int nSP2/*src*/, int bCopyState=false)
{
int w = SACT.SP_GetWidth(nSP2);
int h = SACT.SP_GetHeight(nSP2);
SP_CREATE(nSP1, w, h, 0, 0, 0, 0);
CG_COPY(nSP1, 0, 0, nSP2, 0, 0, w, h);
CG_COPY_AMAP(nSP1, 0, 0, nSP2, 0, 0, w, h);
SP_TEXT_COPY(nSP1, nSP2);
if(bCopyState)
{
int nX, nY, nZ,
bShow, nBlendRate, nDrawMethod,
nTextHomeX, nTextHomeY, nTextLineSpace,
nTextX, nTextY;
SP_GET_POS(nSP2, nX, nY);
nZ = SP_GET_Z(nSP2);
bShow = SP_GET_SHOW(nSP2);
nBlendRate = SP_GET_BLEND_RATE(nSP2);
nDrawMethod = SP_GET_DRAW_METHOD(nSP2);
SP_GET_TEXT_HOME(nSP2, nTextHomeX, nTextHomeY);
SP_GET_TEXT_POS(nSP2, nTextX, nTextY);
nTextLineSpace = SP_GET_TEXT_LINE_SPACE(nSP2);
SP_SET_POS(nSP1, nX, nY); SP_SET_Z(nSP1, nZ); SP_SET_SHOW(nSP1, bShow); SP_SET_BLEND_RATE(nSP1, nBlendRate); SP_SET_DRAW_METHOD(nSP1, nDrawMethod); SP_SET_TEXT_HOME(nSP1, nTextHomeX, nTextHomeY); SP_SET_TEXT_LINE_SPACE(nSP1, nTextLineSpace); SP_SET_TEXT_POS(nSP1, nTextX, nTextY); } }
引数
nSP1
コピー先SP
nSP2
コピー元SP
bCopyState
bCopyState=falseの場合、サイズ以外の情報(表示位置など)は変更されない
bCopyState=trueの場合、表示位置などの状態もすべてコピーされる
戻り値
なし
解説
スプライトをコピーする関数です。
bCopysTATEがFALSEの場合、コピーするものは
CG_COPY?、CG_COPY_AMAP?、SP_TEXT_COPY?となります。
サンプル
なし
サンプル使用CG
なし
サンプル出力例
なし
定義位置
System\SACT\SPRITE\sact_sp_func.jaf
関連
CG_COPY?