スプライト操作の基本が解ったところで、次はアドベンチャーモード
の作成方法の説明に入りたいと思います。
ではまず以下のコードを書いてみてください。
void game_main(void) { int nSp背景 = SP_GET_UNUSE_NUM(); SP_SET_CG(nSp背景, 13); int nSpキャラ = SP_GET_UNUSE_NUM(); SP_SET_CG(nSpキャラ, 12); int nSpメッセージ枠 = SP_GET_UNUSE_NUM(); SP_SET_CG(nSpメッセージ枠, 14); SP_SET_POS(nSpメッセージ枠, 0, 480 - 121); SP_SET_TEXT_POS(nSpメッセージ枠, 16, 24); SP_SET_TEXT_HOME(nSpメッセージ枠, 16, 24); MES(nSpメッセージ枠); MES_SET_SIZE(32); MES_SET_WAIT(100); for (;;) { 'やっほー' R; 'だよー' A; } }実行すると、 ![]() こんな感じになると思います。左クリックすると、メッセージ表示がループ し、右クリックするとメッセージウィンドウが非表示になると思います。 コードをみてみると、3つのスプライトが作成されていることが分かる と思います。背景とキャラとメッセージ枠です。 12〜13行目は、スプライトの上に表示されるテキストの表示位置を 設定しています。15行目は、「nSpメッセージ枠」スプライトを シナリオメッセージを表示するスプライトとして設定しています。 16〜17行目は、表示するテキストのサイズや表示時間の設定です。 20〜21行目がシナリオテキストにあたります。シングルクォーテーション (')でくくられたテキストが、そのまま表示されるようになっています。 「R;」ですがこれは「R();」と同じ意味で、R関数を呼び出しています。 引数がない関数は「()」を省略できます。「A;」も同様にA関数を呼び出して います。 R関数はテキストの改行を意味し、A関数はキー入力を待ち、キー入力が あればテキストを削除し、次のテキスト表示位置をホームポジションに 戻すものです。 |