CGを変化させる

Last-modified: 2007-12-08 (土) 03:18:55

今回はキャラクター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行目

画面更新();

画面更新関数を呼び出します。

実行画面

tt11_001.jpg