Unity

【Unity】Photonを用いたサーバーログインシステムの作り方【シンプル設計】

先日、オンラインゲームのログインシステムを紹介しました↓

【Unityでオンラインゲーム】Photonサーバーを用いたルーム・ロビーの作り方【即使えるコードも公開】

おおまかにPhotonのサーバーに関する知識がわかったと思いますが、
もっとシンプルなものにカスタマイズする方法を、
ここではいくつか紹介していきます。

案①:ログイン後、全員1つのルームに入って即ゲーム(オープンワールド向け)

案②:後日追加予定・・・

案①:ログイン後、全員1つのルームに入って即ゲーム

シーンに準備するオブジェクトは、大きく3つのPanel。

a.ニックネームを入れてログインする画面(LoginPanel)
  子要素:
  ・InputField(ニックネーム入力)
  ・Button( ConnectToPhotonServer()を呼び出す)

b.接続中を示す画面(ConnectingPanel)
子要素:
・Text(Connecting...を表示)

c.接続完了後、クイックスタートする画面(QuickStartPanel)  
子要素:
・Button(JoinRandomRoom()を呼び出す)

本ログインシステムで使用するメソッドとコーディングで処理させる内容
#Unity Methods
・private void Start()

 PhotonNetwork.AutomaticallySyncScene = true;
 LoginPanelを SetActive(true) にする

#Public Methods
public void ConnectToPhotonServer()(仮名)←Loginボタンで呼ぶ
 PhotonNetwork.LocalPlayer.NickNameという変数に、
 InputFieldのtextを部分を入れる
   PhotonNetwork.ConnectUsingSettings()を呼ぶ

public void JoinRandomRoom()(仮名)←QuickStartボタンで呼ぶ       

  PhotonNetwork.JoinRandomRoom()を呼ぶ

#Photon Callbacks
・public override void OnConnectedToMaster()
 PhotonNetwork.ConnectUsingSettings()が呼ばれたら作動します

 CnnectingPanelを SetActive(true)にする

・public override void OnJoinRandomFailed(short returnCode, string message)

 CreateAndJoinRoom()を呼ぶ
 ※参加するルームがなければ自動作成させるため

・public override void OnJoinedRoom()

 PhotonNetwork.LoadLevel("○○")でゲームシーンに移動する

#Private Methods
 
void CreateAndJoinRoom()
 自動作成するルーム設定(roomNameやroomOptions)を記載し、 
 PhotonNetwork.CreateRoom(roomName, roomOptions)を呼ぶ

以上、
これらのコードを書いたScriptを
シーンの空のゲームオブジェクトにアタッチすれば出来上がります。

【参考】コード内容

案①のコード内容は、このようになっています。

参考まで^^

ABOUT ME
いなも@システマライフハッカー
旧ソ連特殊部隊のトレーニングメソッド”システマ”に出会い、人はもっとストレスフリーに生きれることを知る。 健康食品の研究やアプリ開発、ダンスや格闘技などの経験から、多角的に現代社会の攻略法を探究している。 当ブログでは、スマートかつ快適な暮らしのノウハウを忖度なしで発信中。 YouTube”システマ洗脳TV”もやってます^^

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA