Photon学习笔记(二)

GameObjects可以被实例化为网络游戏对象,

他们会有一个可以被识别的PhotonView组建和一个所有者(控制者),

持续更新脚本可以通过拖拽脚本到PhotonView的Observed Components当中实现.

脚本必须实现IPunObservable接口.


[PunRPC]定义一个可以被其他客户端调用的方法,

[PunRPC]
public void OnAwakeRPC(byte Parameter) { }

在其他地方可以通过下面这个API调用方法.

photonview.RPC(string methodName, PhotonTargets target, params object[] parameters)

methodName:方法名

target:调用的目标

parameters:参数.


发送事件.

RaiseEvent(byte eventCode, object eventContent, bool sendReliable, RaiseEventOptions options)

eventCode:识别事件类型的字节,规定在0~199之间.超出了会报错.

eventContent:一些可序列化的对象,如字符串、字节、整数、浮点数(等等)和数组的数组。还能传送字典.

sendReliable:确定事件到达所有玩家,(官方注释说可能会增加带宽)

RaiseEventOptions :允许更复杂的事件使用.(具体的得看RaiseEventOptions类). 如果填写Null,会自动使用RaiseEventOptions.Default.

如何接收事件.

 Example:
 private void OnEventHandler(byte eventCode, object content, int senderId)
{ Debug.Log("OnEventHandler"); }
PhotonNetwork.OnEventCall += this.OnEventHandler;

eventCode:判断事件类型

content:事件内容(需要自己转换类型)

senderid:事件的发送者(PlayerID)


注:如果有什么错误的地方,还请指正,谢谢.

你可能感兴趣的:(Unity,Photon)