bigbanner

Unity マルチプレイオンラインゲーム開発

Unityオンラインゲーム作成【Chapter2】ログイン画面作成

更新日:

今回は以下のようなログイン画面を作成します。

この画面ではテキスト入力欄に自分のニックネームを入力し、Playボタンを押すと、次の画面に遷移するというような処理を実装します。

 ログイン画面の作成

まずログイン画面に必要なオブジェクトを確認します。

以下の画像が完成後のHierarchyビューです。

ゲームにログインする処理を行うLauncherObject作成

  1. 新しいシーンを作成し、Launcherとして保存します。
  2. HierarchyビューにLauncherObjectという名前の空のGameObjectを作成します。
  3. 空のC#のスクリプトLauncherScriptを作成します。
  4. 作成したLauncherObjectLauncherScriptをアタッチします。
  5. LauncherScriptを以下のように編集します。

LauncherScript.csのソースコード

 

ゲーム開始ボタンのUIを作成

  1. Scene Launcherを開きます。
  2. Hierachyビュー上で右クリックし、'UI/Button'を使用してボタンを作成し、そのボタンをPlayButtonと名付けます。 このとき自動的にHierachyビュー内にCanvasとEventSystemのGameObjectが作成されます。
  3. Play Buttonの子オブジェクトであるTextの値を"Play"に編集します。
  4. Play ButtonのButtonコンポーネント内のOn Click ()の小さい'+'をクリックし新しいエントリーを追加する
  5. Hierarchyから作成したエントリのフィールドに、LauncherObjectをドラッグします
  6. ドロップダウンメニューからLauncherScript.connect()を選択します。

    これによりLauncherScriptとButtonが接続され、Play Buttonが押されると同時にLauncherScriptの"Connect()"メソッドが呼び出されるようになります。
  7. Ctrl+Sで保存します。

この時点でゲームを実行して、Playボタンを押すと、battleシーンに移動することができます。

念のため動作テストをしてみてください。

名前の入力欄のUIを作成

  1. Scene Launcherを開きます。
  2. Unityのメニューの'GameObject/UI/Input Field'を使用して名前入力欄を作成し、NameInputFieldと名付けます。
  3. 位置をRect Transformの値を調節します。
  4. NameInputFieldの子オブジェクトであるPlaceholderの値を"名前を入力"等に編集します。
  5. 新しいC#のスクリプト NameInputFieldScriptを作成し、以下のようにスクリプトを編集します。
  6. NameInputFieldを選択して、InputFieldコンポーネント内のOn Value Changed ()の小さい'+'をクリックし、新規エントリーを作成します。
  7. Hierarchyから作成したエントリのフィールドに、NameInputFieldをドラッグします
  8. ドロップダウンメニューからNameInputFieldScript.SetPlayerNameを選択します。

    これにより入力欄の文字列が変更するたびにSetPlayerNameメソッドが呼び出されるようになります。
  9. Ctrl+Sで保存します。

NameInputFieldScript.csのソースコード

 

この時点でゲームを実行すると入力欄の文字列を変更するたびにConsoleに名前が表示されます。

これでログイン画面のシーンの完成です。

動作テストをしてみてください。

Consoleに「ルームに入りました。」というメッセージが出ていれば成功です!!

次回予告!!

 

次回からはついにゲームシーンについての講座となります!!

お楽しみに!!!

 

rectangle_l

rectangle_l

-Unity, マルチプレイオンラインゲーム開発

Copyright© Uniblo-ゆにブロ- , 2022 All Rights Reserved.