江上宿六です。
シーンの移動は出来ました。 あとは最終スコアを表示するだけなので、
早速GameDirectorをFindし、そのスコアを基にUIを切り替えてやりましょう。

GameDirector君がいません。
そりゃそうです、GameOverシーンにはGameDirectorは作っていませんから。
でもゲームシーンで作ったGameDirectorは何処へ行ったのか、使えないのか。
それはシーンの移動と同時に破棄されました。 なので使う事が出来ません。
ではどうすれば良いのか。 方法はいくつかあるようでしたが、自分が選んだのは
DontDestroyOnLoadを使う方法です。
ゲームシーンのGameDirectorのStart内です。 こうする事でこのオブジェクトは
シーンの移動によって破棄されなくなります。 実行して確かめてみましょう。

DontDestroyOnLoadの中にGameDirectorを発見できました。 これでFindを使い
スコアを取得といきたい所ですが、凄い勢いでエラーが吐かれています。
これはGameDirectorのUpdate内で、既に破棄されたオブジェクトにアクセスを
しようとしているからですね。 それを無視して画面をクリックすると

GameDirectorが増殖しました。 どうみてもこれは駄目なやつですね。
ではどうすれば良いのかという事ですが、自分はこんな風にやってみました。
8行目、GameDirector用とスコア表示用のGameObjectを宣言しています。
次の行ではスコアを入れる変数を宣言しました。
Start内の12行目、GameDirectorを探して代入し、次の行でGameDirectorの
GetScoreを呼んでスコアを取得、gameScoreに代入しています。
出し忘れてましたけどGetScoreはこんな感じです、GameDirector内です。
14行目はスコア表示用のやつを探して代入しています。
スコアが取得出来、自らのgameScoreを使ってスコアを表示出来るように
なったので、16行目でgameDirectorを破棄しています。 非情ですが用済みです。
あとはUpdate内でUIを書き換えてやれば良いですね。 実行しましょう。

正しく表示されているハズです。 繰り返しゲームを遊んでも特におかしな点は
見つからない、見つからないという事にして、これでゲームは完成とします。
今回はここまでです。 次回は、番外編で反省会ですかね。



