0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

photon pun2 備忘録

Last updated at Posted at 2024-06-10

はじめに

・photon pun2 の勉強したけど最近使わなくなったので、忘れる前にまとめておこうと思います
・必要な処理をすべて書くとコード量がすごいことになってしまうので、最低限の骨格だけを書いていきます
・photon pun2 の概要と、オンラインゲームの作り方がこの記事をみて少しでもわかるようになってくれれば嬉しいです

接続について

・下の図が接続の大まかな流れです
・ネームサーバーでは世界中にある photon cloud のリージョンサーバーから適切なリージョンを自動的に選択してくれるので実装する側はあまり気にしなくても大丈夫です、僕も初めて知りました
・実装する人はネームサーバーより後ろからみるとわかりやすいかもしれないです

コードについて

MonoBehaviour PunCallbacks

MonoBehaviour PunCallbacks を継承すれば ルームに参加や退出したときにコールバックを受け取れます

ユーザー → マスターサーバー

public void Start()
{

if (! PhotonNetwork.IsConnected)

{

 //  inspectorで設定したネットワークの設定でネットワークに接続する

PhotonNetwork.ConnectUsingSettings();    

}

}

マスター → ロビー

public overrride void OnConnectedToMaster ()

{

//  ロビーに参加する

 PhotonNetwork.JoinLobby () ;

}

ロビーに接続したときの処理

public override void OnJoinedLobby ()

{

}

ルームを作成時の処理

RoomOptions options = new RoomOptions ();

//   無料版は20人まで
//   人数を増やしすぎると難しくなる
options. MaxPlayers = 8;  

//   ルーム作成

PhotonNetwork.CreateRoom ( roomName.text, options );

ルーム作成失敗時の処理

public override void OnCreateRoomFailed ( short returnCode,  string message )

{

//   message は なんで失敗したか教えてくれる

}

ルームに参加するときの処理

public void JoinRoom ( RoomInfo roomInfo ) 
{

PhotonNetwork. JoinRoom (roomInfo. Name);

}

ルームに参加した時の処理

public override void OnJoinedRoom ()
{

}

ルーム退出時の処理

public void LeaveRoom ()

{

//  ルームから退出

PhotonNetwork. LeaveRoom () ;

}

//  ルーム退出時に呼ばれる関数

public override void OnLeftRoom ()

{

}

参考, わかりやすいサイト

さいごに

・まだ初心者なので勘違いやミスがあると思います、もしあったら教えてもらえると嬉しいです
・結構 自分用みたいな感じになってしまいましたが誰かの役に立てたらうれしいです!

・以上です、お読みいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?