エフェクト

Last-modified: 2007-12-08 (土) 03:21:37

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」と書かれているのはデフォルト引数というもので、関数呼び出し側が引数を省略すると、自動的に渡される機能です。

実行画面

tt13_001.jpg
tt13_002.jpg
tt13_003.jpg
tt13_004.jpg