SACT_EFFECT関数にはクロスフェード以外にもいろいろな画面効果があります。今回はさまざまなエフェクトを表示してみましょう。
エフェクト
ソース
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 キャラ変更(int nCG)
{
SP_SET_CG(g_nSpキャラ, nCG);
}
void 画面更新(int nNum = 1)
{
SACT_EFFECT(nNum, 1000, true);
}
void イベント(void)
{
'移動するよー' A;
背景変更(16); 画面更新(40);
'着替えるよー' A;
キャラ変更(15); 画面更新(31);
'もどるよー' A;
背景変更(13); 画面更新(29);
'また着替えるよー' A;
キャラ変更(12); 画面更新(34);
}
解説
34行目
void 背景変更(int nCG)
{
SP_SET_CG(g_nSp背景, nCG);
}
背景変更関数は、キャラ変更関数とほとんど同じです。
46行目
void 画面更新(int nNum = 1)
{
SACT_EFFECT(nNum, 1000, true);
}
画面更新関数ですが、引数が追加されました。これは画面効果の番号が渡されます。「int nNum = 1」と書かれているのはデフォルト引数というもので、関数呼び出し側が引数を省略すると、自動的に渡される機能です。



