【Unity】Unityで3D野球盤をつくろう日記 26日目:ボタンを押してゲームを再スタートさせる

投稿日:2018年3月30日
最終更新日:2019年1月19日

(日記のまとめページはこちら:https://wakky.tech/unity-baseball-game/

前回の日記で、ゲームの制限時間が0になったとき、再スタートさせるボタン(ButtonRestart)を表示させた。ただ、前回は表示させただけでボタンを押しても、まだ何も起こらない。今回は、ボタンを押すことでゲームをリスタートして何回も遊べるようにする処理を実装していく。今回、ゲームをもう一度遊ぶ手っ取り早い方法として、Sceneを初期化してしまうことにした(ハイスコア等を記録する際には修正が必要になるかもしれないが、とりあえずはこの方法で行く)。Application.LoadLevelを使えば実現できそう。

https://docs.unity3d.com/ja/current/ScriptReference/Application.LoadLevel.html

今回つくったスクリプトがこちら。

https://gist.github.com/anonymous/02ba66a9f5ea97f84d84189d930a5a13/41deef5ca3d11b8c7a7cf8de130fc703ced63f49

ボタンを押したときの処理は、void OnClick()内に書く。Application.LoadLevelの引数には、読み込みたいScene名を書けばよい(今回は”Stadium”)。あとは、この前追加したButtonRestartオブジェクトにスクリプトを付加して、下の画像の赤枠の中のようにOn Clickの設定を行う。

これでボタンを押すとリスタートできたのだが、なぜか画面が暗い。調べてみると、追加で以下のような設定が必要なようだ。

http://funct.hatenablog.com/entry/20150926/1443279282

こちらの設定を行えば、問題なくリスタートできた。次はハイスコアの実装でもしようかと思ったけど、まずは最低限の体裁を整えたい。ということでタイトル画面でも作りたいと思う。


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください