シーン読み込み

概要

 地面から落下した場合の処理を作っていきます。
 今回はワンペナではなくリセットすることにします。
 検索で命令はすぐに見つかりましたが、シーンを読み込めるようにする手続きの部分でさまよったので、その辺りを含めて手順を確認しています。

シーン保存

 シーンを適当に作成し、メニューから File > Save Scene (or Save Scene as...) を選択してシーンを保存しておきます。
 今回は Sample.unity というファイル名で保存しました。

シーンを読み込めるようにする

 メニューから File > Build Settings... を選択します。
 Add Current をクリックします。
 現在開いているシーンがリストに追加されます。
 これでゲーム内でシーンを読み込む準備が出来ました。

※ Assets からドラッグ&ドロップすることもできるので、複数シーンを追加する場合はそちらを利用する方が早いです。

※ Delete キーで不要なシーンの削除が出来ます。

パス指定できないのが不思議ですが、この設定をするとインデックスが付いて使い勝手が良くなるのでこうなっているのだと勝手な想像をしています。

シーンを読み込む

  if (Ball.transform.position.y < -2){
    Application.LoadLevel("Sample");
  }
 一行目は起動条件です。
 今回はボールの Y 座標が ‐2 未満になったらアウトとしています。
 二行目がシーンを読み込む命令です。
 拡張子(.unity)なしでシーンのファイル名を指定します。
 拡張子を入れるとエラーが出ます。
 ファイル名の代わりにインデックスを使うこともできます。
  Application.LoadLevel(0);
 スタート時のシーンを読み込んでいるのでリセットしたことになります。

 ここまでやってシーン読み込みサンプルの選択を間違えたことに気がつきました。
 リセットしてしまうとスコア等の情報が保存できないので、ボールやライト、カメラなど共通部分とステージを分割して読み込めるようにすべきでした。
 今回のサンプルはそちらの方向へ膨らませる予定ではないのでここまでとします。
 シーン読み込みは色々な利用方法がありそうなので別の機会に挑戦したいと思います。