今回はキャラクターCGをクロスフェードで変更しましょう。
ソース
int g_nSp背景; int g_nSpキャラ; int g_nSpメッセージ枠;
void game_main(void)
{
初期化();
for (;;) {
イベント();
}
}
void 初期化(void)
{
g_nSp背景 = SP_GET_UNUSE_NUM();
SP_SET_CG(g_nSp背景, 13);
g_nSpキャラ = SP_GET_UNUSE_NUM(); SP_SET_CG(g_nSpキャラ, 12);
g_nSpメッセージ枠 = SP_GET_UNUSE_NUM(); SP_SET_CG(g_nSpメッセージ枠, 14); SP_SET_POS(g_nSpメッセージ枠, 0, 359); SP_SET_TEXT_POS(g_nSpメッセージ枠, 16, 24); SP_SET_TEXT_HOME(g_nSpメッセージ枠, 16, 24);
MES(g_nSpメッセージ枠); MES_SET_SIZE(32); MES_SET_WAIT(100); }
void キャラ変更(int nCG)
{
SP_SET_CG(g_nSpキャラ, nCG);
}
void 画面更新(void)
{
SACT_EFFECT(1, 1000, true);
}
void イベント(void)
{
'やっほー' R;
'だよー' A;
キャラ変更(15); 画面更新();
'かわったよー' A;
キャラ変更(12); 画面更新();
'もどったよー' A;
}
解説
34~38行目
void キャラ変更(int nCG)
{
SP_SET_CG(g_nSpキャラ, nCG);
}
キャラ変更関数は、キャラのCGを変更するものです。
40~44行目
void 画面更新(void)
{
SACT_EFFECT(1, 1000, true);
}
画面更新関数は、SACT_EFFECT関数を使ってクロスフェード処理をさせるものです。
51行目
キャラ変更(15);
キャラ変更関数を呼び出します。
52行目
画面更新();
画面更新関数を呼び出します。
