‫お帰りなさい｡
‫このビデオでは､ あるシーンから別のシーンに移動する方法を紹介します｡
‫では､ 新しいシーンを作ってみましょう｡
‫それを複数の方法で行うことができるのです｡
‫例えば､ クリエイトアンドシーン｡
‫あるいは､ メインのシーンを複製することもできます｡
‫そして､ まあ､ 先に進んで､ 今､ 単純に新しいシーンを作りましょう｡
‫だから､ シーンを作る｡
‫そして､ それをレベル1と呼ぶことにします｡
‫これでメインから､ 例えばレベル1まで到達したわけです｡
‫レベル1をクリックし､ 現在いるシーンを保存してみましょう｡
‫そして今､ このシーンには何もないことがおわかりいただけたと思います｡
‫というわけで､ レベル1のシーンに追加するのは､ テキストと呼ぶUIとUI､ あるいはテキストです｡
‫そして､ レベル2と表示されるだけです｡
‫そして､ それを中心に据える､ と｡
‫中央に配置する｡
‫さて､ ここにも小さなボタンを追加しておきます｡
‫あなたIボタン｡
‫そして､ ボタンのテキストには､ メインシーンに移動と書いて､ それで終わりです｡
‫つまり､ このシーンからメインシーンに移動し､ メインシーンからレベル1のシーンに移動したいのです｡
‫そこで､ レベル1､ シーンコントロールSEを保存し､ メインシーンに移動します｡
‫そして今､ このボタンがここにあります｡
‫そのために必要なのは､ レベル1への移行です｡
‫レベル1へ
‫わかりました｡
‫これで､ ボタンはすでにビヘイビアを持つようになりました｡
‫これはもうビヘイビアがあるんですね｡
‫だから､ それを変えよう｡
‫ボタンの動作に行きましょう｡
‫そして､ ここでやりたいことは､ ここで押されたオンボタンを変更したいのです｡
‫スコアのテキストを設定したくないんです｡
‫あるシーンから別のシーンに移動したいので､ このテキストを取り除き､ このラインも取り除くことができます｡
‫ついでに､ 今は使っていないからと､ Unity Engineも処分してしまうこともできます｡
‫しかし､ これから必要になるのは､ あるシーンから別のシーンへ移動するためのシーンマネージャーです｡
‫この名前空間を追加して初めて､ シーン・マネージャーを使用できるようになるからです｡
‫では､ シーンマネージャーを開いてみましょう｡
‫そして､ そのシーンマネージャーには､ 複数の異なるメソッドがあります｡
‫そして､ 現在私たちにとって重要なのは､ ロードシーンメソッドです｡
‫そうすることで､ あるシーンから別のシーンへ移動することができるようになるのです｡
‫ご覧のように､ 複数のオーバーロードがあり､ int型のシーン構築インデックス､ 文字列のC名､
‫その他いくつかのオプションがあります｡
‫例えば､ このロードシーンモードの引数は､ 単純に移動したいシーンのインデックスを追加できるものを使うことにします｡
‫だから､ シーン1に行きたい､ あるいはシーンレベル1に行けるとします｡
‫だから､ それを保存しておこう｡
‫この名前が正しいかどうか､ 実際に空白のないレベル1を見てみましょう｡
‫だから､ この名前が正しいかどうか､ 確認しよう｡
‫それを保存しておこう｡
‫そして､ 誰かがこのボタンを押すたびに､ メインからレベル1へと移動するようにしました｡
‫では､ それを検証してみましょう｡
‫実際に最初にエラーに遭遇しますが､ 何が起こるか見てみましょう｡
‫それで､ 実行し､ レベル1に進むと､ ここでエラーが発生しました｡
‫ゲームシーンを停止すると書いてある｡
‫レベル1は､ ビルド設定またはアセットビルドバンドルに追加されていないため､ 読み込むことができませんでした｡
‫そして､ もし万が一､ このエラーが表示されたとしても､ 非常に簡単な解決策が1つあります｡
‫ファイル」→「ビルド設定」と進み､ この中に必要なシーンを追加していくのです｡
‫つまり､ シーンメインを追加し､ シーンレベル1を追加するわけです｡
‫あとはそれを閉じてください｡
‫ちなみに､ 暗記すべきは､ この中の「0」です｡
‫つまり､ メインがゼロで､ レベル1が1ということですね｡
‫実は､ そういうことにしておこう｡
‫このインデックス､ シーンのインデックス､ これは右側のこの数字です｡
‫では､ それを閉じて､ もう一度コードを実行して､ メインシーンからレベルまでシーンを移動できるかどうか見てみましょう｡
‫ところで､ この右側にある1つのシーンですが､ 現在メインになっているのがわかります｡
‫では､ そのボタンをクリックしてみましょう｡
‫そして今､ 私たちはシーンレベル1にいることがおわかりいただけたと思います｡
‫同時にテキストが変わり､ メインシーンに移動と表示されているのがわかります｡
‫つまり､ ここは別のシーンで､ 例えば､ プレイヤーが単にゲームを始めることができるスタート画面から移動するのに使うことができるのです｡
‫ハイスコアを見たり､ ゲームシーンそのものや特定のレベルに設定を変更することもできるかもしれません｡
‫例えば､ ここに20種類のボタンを作り､ ボタン1がレベル1､ ボタン2がレベル2といった具合にすることも可能です｡
‫そこで､ 今､ メインシーンへの移動を押しても､ もちろん何も起こりません｡
‫そこで､ ちょっとしたチャレンジとして､ レベル1のシーンに機能を追加して､ このシーンからメインのシーンに移動できるようにしてみてください｡
‫そこで､ ビデオを一時停止して､ それを試してみてください｡
‫わかりました｡
‫ぜひ試してみてください｡
‫では､ そのようにしましょう｡
‫そして､ 複数の異なる方法があります｡
‫例えば､ 非常に新しいスクリプトを作り､ そのスクリプトをボタンに割り当て､ この画面から別の画面に移動することができます｡
‫でも､ もっときれいな方法を紹介する､ と言っていいでしょう｡
‫では､ ボタン動作に行きましょう｡
‫そして次に､ これを「ボタンが押されたとき」という名前から変えてみましょう｡
‫しかし､ 実際には､ 何が起こるべきかをもう少しうまく説明する､ より良い名前のメソッドを用意したいのです｡
‫そのため､ 今回はボタン押下時にメソッドを呼び出さず､ シーンに移動させる必要があります｡
‫これで､ このメソッドはあるシーンから別のシーンに移動することになりますね｡
‫そして引数として､ シーンIDと呼ぶ整数を追加します｡ これでシーンをロードし､ レベル1はロードしません｡
‫しかし､ シーンIDを読み込むだけです｡
‫そして今できることは､ これをボタンに追加することです｡
‫ボタンの振る舞いをボタンオブジェクトに追加してみましょう｡
‫だから､ スクリプトボタンの動作｡
‫そして､ ここにクリックイベントのリストを追加することができます｡
‫次に､ ボタンビヘイビアが追加されているのがわかるように､ ここにドラッグする必要があります｡
‫これで､ ボタンの動作を選択できるようになりました｡
‫そして､ 彼らのシーンへの動き｡
‫今､ ENTを期待しているのは､ この数字です｡
‫つまり､ 現在は0番であり､ 実は行きたいシーンなのです｡
‫そこで､ ビルド設定に行くと､ メインシーンのインデックスが0になっているのがわかります｡ シーンインデックス0､ つまり､
‫正しいシーンということです｡
‫わかりました｡
‫では､ メインシーンにも行ってみましょう｡
‫ここでは､ canvasとボタンがありますが､ ボタンにはon button pressメソッドがありません｡
‫もちろん､ もう存在しないので見逃しているのだろう｡
‫名前を変えてみました｡
‫だから､ いつやっても､ この中では変更されていないので､ 超注意が必要です｡
‫今やっているのは､ シーンへの移動を選択して､ ここにレベル1を入力することです｡
‫Sceneのインデックスが1になっている｡
‫メインシーンであるシーン0から､ レベル1のシーン1へ移動します｡
‫では､ それを検証してみましょう｡
‫では､ レベル1に行ってみましょう｡
‫押してみよう｡
‫レベル1のシーンであることはおわかりいただけると思います｡
‫では､ 「move to main scene」を押して､ レベル1のシーンに戻ってみましょう｡
‫わかりました｡
‫ここまでで､ あるシーンから別のシーンへ移動するためのメソッドやボタンの使い方をご理解いただけたと思います｡
‫もちろん､ シーンマネージャーを呼び出すことも可能です｡
‫ですから､ このコードでは､ 例えば､ プレイヤーが負けたり死んだりしたら､ すぐにゲームオーバーのシーンをロードしてくださいとか､
‫プレイヤーがこのレベルの終わりに到達したら､ 次のレベルに進んでください､ というようなことを､ いつでも行うことができます｡
‫そのため､ 現在のボタンのようにユーザーの入力によらず､ 動的に行うことができます｡
‫でも､ ビアボタンでできることを紹介したかったんです｡
‫ボタンとそのクリックイベント､ そしてシーンからシーンへの移動は以上です｡