サンプルデータを作成しました。
ローカルにDL&解凍して、「サンプルSTG」フォルダを
「ShootingGameBuilder/samples」フォルダに移動した上で
「サンプルSTG(VER.0.01).sbd」を起動して下さい。
(サンプルSEを使用しています)
「ステージセレクト機能・自機セレクト機能・オプション画面」の要素を入れつつ
各要素のシーケンスを接続したイメージが下記になります。
▲「タイトル・プレイヤーセレクト・ランキング・オプション」のシーケンス
▲「タイトル(プレイヤーセレクト)⇔ステージ」のシーケンス
●事前準備
・プレイヤーを3種作成して、「プレイヤー」に登録
・「タイトル画面」「分岐」「1~3面」「オプション画面」「ランキング画面」
のステージを作成して、「シーン」に登録しておく必要があります。
(ここに登録されていないシーンやプレイヤーは呼び出しできません)
※以下はサンプルSTGのソースを解析しつつ参照下さい
「●●タイトル画面」のスクリプト
※ボタン無効化☑ でデフォルト操作を無効化
・「カーソル」「文字列(項目)」「文字列<選択>」を配置
・行数=0(ゲームスタート)の時
決定を入力→「●●自機セレクト画面」発射後に消滅
(タイトル画面内で、自機セレクト画面と入れ替える)
→親(タイトル画面)を消せば、子(配置したUI素材)も消滅する
※自機セレクトが不要な場合、決定を入力→「メインステージ」へ遷移
・行数=2(ランキング)の時
決定を入力→「ランキング」へ遷移
・行数=3(オプション)の時
決定を入力→「メインステージ」へ遷移
・行数=4(終了)の時
決定を入力→アプリ終了
※決定を入力時、「(システム00)カーソルロック」を「1」に指定して
シーンが遷移するまで入力を無効化する
「>カーソル」のスクリプト
・「(システム00)カーソルロック」が「1」の時は操作不能
・上入力→行数-1
「0」以下の場合、「最大行数」に置換
・下入力→行数+1
「最大行数」を超えた場合、「0」に置換
・初期Y座標を記憶して
初期Y座標+(行数×行間ピクセル数)
の計算結果でカーソルを移動させる
※拡張性を考慮して「行間ピクセル数」を可変式にしていますが
固定で良い場合は直値でOK(「PARAM_B」で指定する必要はない)
「文字列(項目)」のスクリプト
・「PARAM_A」で文字列を指定 (※「文字列(大)」も同様)
・「PARAM_B」で「自分の行数」を指定
「自分の行数」=「行数」の時は文字が白 それ以外の時は灰色
「文字列<選択>」のスクリプト
・「(システム00)カーソルロック」が「1」の時は操作不能
・「PARAM_A」で表示内容と選択内容を指定
(タスク00で選択内容を、タスク01で表示内容を指定)
・「PARAM_B」で「自分の行数」を指定
「自分の行数」=「行数」の時は文字が白 それ以外の時は灰色
・「自分の行数」=「行数」の時
左右の入力で「【02】変数の値」を変更して
選択内容に応じたシステム変数&コンフィグ変数を書き換える
「●●タイトル画面」のスクリプト
・「自機(セレクト表示)A~C」を配置(視覚的に選択情報を表示)
・左右を入力→「《システム03》自機セレクト数」を書き換える(0~2)
・決定を入力→「メインステージ」へ遷移
・キャンセルを入力→「●●タイトル画面」発射後に消滅
(タイトル画面内で、タイトル画面を元に戻す)
「自機(セレクト表示)」のスクリプト
・「PARAM_A」で自機タイプを指定
・「自機タイプ」=「《システム03》自機セレクト数」の時は選択状態
それ以外の時は非選択状態のパターンを指定
※ランキングの表示には、「レイアウト」の機能を使用する
※ボタン無効化☑ でデフォルト操作を無効化
「●●ランキング画面」のスクリプト
・左右を入力→自機タイプの変更
・上下を入力→カーソルの移動
(ボタン判定に「リピート」に設定する事で、押しっぱなし入力に対応)
・決定を入力→リプレイを再生(※今回のサンプルでは未実装)
・キャンセルを入力→タイトルへ戻る
※ポーズ無効化☑ 自機無効化☑ でポーズ機能・自機表示を無効化
「●●オプション画面」のスクリプト
・「カーソル」「文字列(項目)」「文字列<選択>」を配置
・キャンセルを入力→タイトルへ戻る
・行数=4(戻る)の時
決定を入力→タイトルへ戻る
※「フルスクリーン」「スクリーン倍率」等の一部コンフィグ変数は
ビルドデータで正常に機能しているのかを確認する必要がある
※メインステージの一番上に「分岐」を設定する必要がある
「●●分岐」のスクリプト
・「《システム03》自機セレクト数」を取得して「自機タイプ」に適応
※自機セレクトが不要の場合は不要
・行数を見て「ゲームスタート」か「オプション」かを判定
・ステージセレクト数を見てステージ遷移先を指定
「●ステージクリア処理」のスクリプト
※仮で「ステージ→敵配置」で時間配置してある
・「《システム02》ステージセレクト数」を見てステージ遷移先を指定