3Dマップ -> イベント
イベント情報を設定できるモードです。
黄色の4角形の範囲内にキャラクターが移動したら次のマップへ移動とか
セリフを表示したり、ボスが登場などに使えます。
イベントウィンドウの「追加」ボタンを押します。
黄色の4角形を、左ドラッグで移動したり
拡大してイベント発生範囲を設定します。
パラメータの「追加」ボタンで、複数パラメータを設定できます。
例えば4角形の範囲内にキャラが移動したら、次のマップに移動させたい場合
ID 0 に MOVE
ID 1 に 3
と設定して、YJC形式で保存します。
YJライブラリで読み込みます。Map3_Load("ファイル名.YJC");
// 次のマップへ移動するか?
for( i=0; i < (int)Map3->Event.size(); i++ ){
if( Map3->Event[i].flag ){
// 主人公がイベント範囲内に移動したか?
if( Map3->Event[i].pos.x - Map3->Event[i].size.x <= pPlayer->obj->pos.x &&
pPlayer->obj->pos.x <= Map3->Event[i].pos.x + Map3->Event[i].size.x &&
Map3->Event[i].pos.z - Map3->Event[i].size.z <= pPlayer->obj->pos.z &&
pPlayer->obj->pos.z <= Map3->Event[i].pos.z + Map3->Event[i].size.z ){
// パラメータが"MOVE"の場合、次のマップに行く
if( strcmp( Map3->Event[i].param[0].str, "MOVE" ) == 0 ){
int NextMap = atoi( Map3->Event[i].param[1].str );
YJ.Fade.Out( 0.02f );
}
}
}
}
こんな感じで、NextMap に 3 が入りますので
3 に応じたマップを読み込むことでマップ移動ができます。
※ MOVE はサンプルです。他の文字列でも数字でも構いません。
パラメータは複数設定できます。