photon总结

photon服务器,非常适合轻服务器的项目,因为photon提供了房间的概念,并提供了一些房间属性,玩家属性同步的方法。photon不知道房间内发生的事,也不想知道。如果想让服务器来控制房间内操作的话,就不要使用photon服务器了,因为那需要大量的开发。。

photon的创建房间是在客户端,服务器只是记录房间基本信息,如房间名字和房间内人数以及房间是否关闭(房间是否关闭,这个属性是有一定延时的。。)

房间和玩家属性的同步,photon提供一个哈希表可以实现信息同步,但是不推荐使用。因为有延时,而且延时比较高,推荐使用rpc同步,手动控制数据同步过程。房间基本属性,最好是数据不会改变的属性,可以放在房间的哈希表内。

photon的克隆操作, 有两个方法,一个是Instantiate,一个是InstantiateInScene。玩家物体是使用Instantiate,AI或NPC使用InstantiateInScene。区别在于,Instantiate创建的物体会随客户端的断线和退出而销毁,而InstantiateInScene不会。

photon同步数据,支持基本的数据结构,如果要支持自定义的对象或结构,需要手动添加。

退出photon的房间不会跳转unity的场景,但是会销毁带有photonview组件的物体。

一个蛋疼的地方是,如果你是创建房间,你可以控制加载一个loading场景,但是如果加入一个场景的话,photon不会调用你加入房间成功事件,而是直接加入房间,并跳转到房主所加载的场景内,无法控制加载loading场景(应该可以实现控制,但是需要修改photon的客户端源码)

最好使用本地的photon服务器,可以在photon服务器官网上

 

posted on 2017-07-04 19:30  施琅水月  阅读(534)  评论(0编辑  收藏  举报

导航