bigbanner

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

Unityオンラインゲーム作成【Chapter12】Lobbyシーンの作成

投稿日:

部屋一覧用要素プレハブ

以下のような、部屋の一覧表示をする際に一覧の部屋それぞれの情報を表示するオブジェクトのプレハブを作成します。

今回部屋一覧のオブジェクトに必要な要素は、以下の4つです。

  1. 部屋名...ルーム作成者が部屋につけた名前
  2. 人 数...ルームの最大入室可能人数
  3. 作成者...ルームの作成者の名前
  4. 入室用ボタン

これらのデータをインスタンス生成直後に読み込む必要があります。

RoomElementのInspector

Layout ElementはRoomElementプレハブの大きさを調節するためのコンポーネントです。

ここではこのオブジェクトの高さを50に設定しています。

RoomElementScript.csのソースコード

部屋情報表示用テキストオブジェクトとして子オブジェクトであるRoomName、PlayerNumber、RoomCreatorを設定しています。

SetRoomInfoによるルーム情報の取得処理は、この後作成するLobbyManagerオブジェクトのLobbyManagerScript内で呼び出されます。

RoomButtonのInspector(RoomElementの子オブジェクト)

RoomButtonをクリックすることでその部屋に入ることができます。

ログインボタンのアイコン(EnterRoom_icon)はicooon_mono様から以下の素材を利用させていただきました。

ログインアイコン3

スポンサーリンク

rectangle_l

LobbyUI

LobbyUIは先程作成した部屋作成用パネルの処理を管理するLobbyUIScriptを持ったオブジェクトです。

詳細はLobbyUIScriptのソースコードLobbyUIのInspectorビューと設定をご覧ください。

LobbyUIScript.csのソースコード

LobbyUIのInspectorビューと設定

上記の画像のように今まで作成したオブジェクトをドラッグ&ドロップで設定します。

LobbyManager

LobbyManagerは部屋一覧の表示とプレイヤーのルーム入室時や作成時の処理を管理するLobbyManagerScriptをもつオブジェクトです。

詳細はLobbyManagerScriptのソースコードLobbyManagerのInspectorビューと設定をご覧ください。

LobbyManagerScript.csのソースコード

LobbyManagerのInspectorビューと設定

LobbyManagerは以下の画像のように設定します。

最後にログイン画面のシーンと繋げる

LauncherシーンのLauncherScriptを以下のように変更する。

LauncherScript.csのソースコード

前回まではこのスクリプトの中でロビーに入ってルームに入室していましたが、今回からはLobbyシーンでどのルームに入室するか選択するので、Lobbyシーンに遷移するのみの処理としています。

実際に実行してみましょう!!

ログイン後、Lobbyシーンに遷移し、部屋一覧を取得できていますね!!

また自分で部屋も作成して入室することができました!!

次回予告!!

未定。何か思いつけば追記します。

rectangle_l

rectangle_l

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

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