Unity:プレイヤーの移動制限とタイトル作成~公式チュートリアル 2Dシューティングに挑戦

Unity公式サイトに掲載されているチュートリアルの2Dシューティングに挑戦。今回はプレイヤーの移動制限とタイトル作成のステップを行いました。チュートリアルを進めながら変更した箇所などをピックアップしています。

前回の記事はこちら
Unity:BGMと効果音をつける~公式チュートリアル 2Dシューティングに挑戦

プレイヤーの移動制限と様々な修正

チュートリアルページ:プレイヤーの移動制限と様々な修正
このステップの手順は次の通りです。

  1. プレイヤーに移動制限つける
  2. Spaceship.csとEnemy.csの修正

プレイヤーの移動方法を変更

チュートリアルでは自機の移動範囲をゲーム画面内に制限する方法として、自機の制御方法をRigidbody2D から transform.position の制御に変更しています。

ここでは制御方法をRigidbody2D ままでスクリプト Player を変更しました。

チュートリアルでは スクリプト Spaceship の Move() 関数を使用しなくなったのでスクリプト Spaceship とEnemy を修正していますが、ここでは修正しないでそのまま使用します。

タイトルを付ける

チュートリアルページ:タイトルを付ける
このステップの手順は次の通りです。

  1. タイトルの表示
  2. タイトル のマネージャークラスを作る
  3. 他のスクリプトからマネージャーを呼び出す

タイトルの表示

チュートリアルではGUI Text コンポーネントを使用してタイトルテキストを作成していますが、ここでは UI > Text を使用します。

[Hierarchy]ウィンドウ > [Create]ボタン > UI > Text を選択。作成された Text オブジェクトの名前を Text Title に変更。

Rect Transform コンポーネントの設定はこのようにしました。

Text コンポーネントの設定はこのようにしました。親オブジェクト Canvas の Canvas Scaler > Reference Resolution の設定を変更しているので Font サイズは大きい値になります。

テキストのフォントサイズはリッチテキストを使用、タイトルと Press X のサイズを別々にしました。テキストフィールドの内容はこのようになっています。

Manager の作成

チュートリアルのスクリプト Manager では Start() 関数でタイトルオブジェクトを検索して変数に格納していますが、ここではタイトルオブジェクトを格納する変数を public に変更。オブジェクトを [Inspector]ウィンドウから割り当てる方法に変えました。

さらに自機が撃破された際、別に用意したゲームオーバーテキストを表示する形にしました。

スクリプトはこのようになっています。 自機が撃破されるとコルーチン処理でゲームオーバーのテキストを3秒間表示。再びタイトルテキストを表示します。

オブジェクト Manager のコンポーネント Manager の[Inspector]ウィンドウはこのようになっています。

WebGL

ここまでの内容を動作確認用にWebGLでビルドしてみました。タイトルができてちょっとゲームらしくなってきました。
画像クリックで再生(ファイルサイズ:約7MB)