昨日動かした画面に、テキスト及び音を追加してゲームらしくしました。
資料はこちら → unityその9
p.1 ①ヒエラルキーウィンドウの「+」クリック→ UI→ Legacy → Textとすると、②Canvasの下に「Text」が表示されます。「Distance」に名前変更します。「UI」とはユーザインターフェースで、ゲームの進行状況を表示するためのツールです。今回は、Textを用いて、ボールと旗の距離を表示させます。右側にDistanceに関する情報が表示されています。③枠で囲った部分に数値を入れます。距離を表示するTextの位置、フォントサイズ及び文字の縦横の位置関係を設定します。
p.2 ④Gameにすると「New Text」が表示されました。この段階では、まだTextの中身が書かれていません。⑤プロジェクトウィンドウで右クリック→ Create→ C#クリックすると、⑤#のアイコンが表示されるので、GameDirectorに名前を変更します。この名前の通り、このスクリプトの中に指図内容のコードを書き込みます。⑥ヒエラルキーウィンドウの「+」→Create Emptyとして、⑦Gamedirectorに名前変更します。
p.3 ⑧GameDirectorの#アイコンをダブルクリック→ 以下コード書き込みます。
- 「ボール」「旗」「UI」の変数準備
- 「ボール」「旗」を見つけてそのX座標取得。距離を算出。
- 数値を文字化します。“F2”は小数点以下2桁表示
- 距離が0以上の場合は、距離を表示、0未満の場合は「ゲームオーバー」と表示
⑨ GameDirectorのアイコンをピックアップして、 GameDirectorにドロップ(アタッチ)します。⑩Gameにして再生▶️をクリックすると右下の画面が表示ます。GameDirectorのスクリプトをGameDirectorのオブジェクトにアタッチすることで、このオブジェクトが監督として機能することになります。監督ロボットにプログラムを入れ込んで動くようになったと思えばよいと思います。
p.4 マウスを少し動かした場合、旗までの距離がある場合は、繰り返しショットが可能で、都度、距離を表示します。マウスを大きく動かした場合は、ボールは枠外に消え「ゲームオーバー」が表示されます。 ⑪プロジェクトを保存しておきます。
p.5 最後の仕上げで、ショットの際に音を出します。⑫Webでゴルフショットの音源を取得し、保存しておきます。⑬この音源ファイルをドラッグ&ドロップします。⑭ballをクリック→ Add Componentクリックします。⑮Audio→ AudioSource クリック。⑯音のアイコンをつかんで、ドロップします。「swing」というファイル名が入りました。⑰Play On Awakeのチェック外す
p.6 ⑱BallControllerスクリプトをダブルクリックするとコードが表示されますので、⑲枠の部分を追記してcodeを保存します。⑳Gameの画面にして再生▶️をクリックして、マウスでスワイプするとショット音が確認できるはずです。これで、簡単なゲーム作成終了です。 いかがでしたか? Unityは、慣れてくると使い易い機能がたくさん持っているようです。
今回用いた、BallControllerのスクリプトは → BallControllerその2
GameDirectorのスクリプトは → GameDirector