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("方法名",面向目标,参数)