カメラの移動先を変更してみる
さて、もう一度前節のソース、今度は後半を弄ってみましょう。
void カスタム::On_プレイヤ担当ターン《メイン画面》() {
フェイドアウト();
カメラ移動(3);
フェイドイン();
効果音再生(効果音音源::豊作);
確認ダイアログ表示("これはプロトタイプだよ!!");
}
まず、フェイドアウト(画面を暗くする)、フェイドイン(暗い状態から元へと戻す)は、良いとして
「カメラ移動(3)」の「3」を変更してみましょう。
「カメラ移動」の「3」というのは何だったでしょうか。「カメラ移動」にマウスを当ててみましょう。

すると、バルーンヘルプ表示が出るはずです。
「城番号【配列用】」
とあります。
この【配列用】というのは、このScenarioModに出てくるとても重要な概念となっています。
「城番号」は1番から始まっていますが、「城番号【配列用】」には「0」番から始まったと想定した番号を入れる必要がありますよ、という意味となっています。
別の言い方をしましょう。
「城番号【配列用】」とある場合、「城番号」から1を引いた値を渡せば良い、ということとなります。
城番号【配列用】 == 城番号 - 1
では、城番号はどこで求めればよいので何でしょうか?
それはシナリオエディタの以下の項目で視覚的に見ることが出来ます。
「室町」でいうところの「128」。
これが城番号です。
厳密にはイベント等が発生することで、「城名」が変わっても「城番号」は変わりませんので
「城の位置の番号」といった方が妥当かもしれません。

例えば、「室町」にカメラを移動させるためには、「128 - 1」の「127」を「城番号【配列用】」に渡すこととなります。
フェイドアウト();
カメラ移動(127);
フェイドイン();
しかし、これではわかりにくいため、ScenarioModでは、すでに「全ての城」が定義済みです。
フェイドアウト();
カメラ移動(列挙::城::城配列番号::室町御所);
フェイドイン();
さらに短く
フェイドアウト();
カメラ移動(城配列番号::室町御所);
フェイドイン();
と記述することも出来ます。