当前位置: 首页 > 工具软件 > Photon > 使用案例 >

Photon Unity Networking(PUN)

焦兴为
2023-12-01

1.导入PUN在PhotonServerSettings设置AppId

这需要你有photon的账号,在新建Application中在Hosting里面要选择PhotonCloud,将你的AppId复制到PhotonServerSettings面板中,每个Client程序都是通过这个AppId去连接你的PhotonClound服务器,不同地区的玩家是会连接到不同地区上的服务器,无法直接相连。

2.连接到Cloud同时设置版本

PhotonNetwork.ConnectUsingSettings(string version);

这是实际连接到Cloud的代码,不同版本的玩家不会连接到一起

3.关于回调函数

(1)实现接口:Photon提供两个接口 IPunObservable和 IPunCallbacks实现接口就必须实现所有的方法,但是大部分都不会用上,所有一般不采用这种方式

(2)继承父类:Photon提供Photon.PunBehaviour和Photon.MonoBehaviour,继承并override重写方法即可

class PunBehaviour : Photon.MonoBehaviour, IPunCallbacks

在源代码中有这样一行,其中说明了PunBehaviour继承了MonoBehaviour的同时实现IPunCallbacks接口

不过参考(1)通常还是只继承MonoBehaviour就行了!

所以我大部分脚本都继承Photon.MonoBehaviour

4.playerName

每个玩家都有一个playerName,通过PhotonNetwork.playerName设置,这是一个标识符,在游戏的开始场景应该获取玩家输入的名字之后存下来在后面生成Player时就知道名字了。

5.加载关卡

PhotonNetwork.LoadLevel(string name);

6.关于PhotonNetwork,PUN由相当多的文件组成,但只有一个真正重要:PhotonNetwork。这个类包含所需的所有函数和变量。

PhotonNetwork.

PhotonNetwork.JoinRoom(roomName);//加入房间

PhotonNetwork.CreateRoom(roomName);//创建房间如果该房间已经存在就会失败,并调用:OnPhotonCreateGameFailed

PhotonNetwork.JoinRandomRoom();//尝试加入任何随机游戏如果没有匹配的游戏就会失败并调用: OnPhotonRandomJoinFailed

7.关于发送消息

在方法前加[PunRPC],获取PhotonView,使用photonView.RPC("方法名",面向目标,参数)

 类似资料:

相关阅读

相关文章

相关问答