unity3d如何联网联网游戏开发直接用Socket还是用Photon sever好

版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/

建一个类用来处理和服务端的交互,如PhotonEngine,

 
}

版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/

今天和大家交流一下利用Photon创建和加入房间
Photon创建局域网的原理是通过一台机器创建房间,这台机器就是担负服務器的功能负责与各个客户端之间的通信,而其也是一台客户端
之后其他机器加入房间,就是客户端

在这里介绍几个常用的方法:

其功能就是创建房间,执行该代码的机器即担负服务器也担负客户端的功能
CreateRoom(“RoomOne”, new RoomOptions { MaxPlayers = 10 }, null);其参数中第一个参数是房间名称;第二个参数是创建房間的选择,这里MaxPlayers 设置的为该房间的最大连接数;第三个参数为大厅类型在这里不做设置。这样就可以创建一个房间啦

但是在创建房间の前最好判断一下该程序是否已经在房间内,这里就说到Photon的一个缺点啦如果在退出程序时不设置离开房间,等到再次创建房间时可能保留了上次创建的房间这样房间名字是重复的,就会发生错误这是为了避免这个因素,所以在创建房间之前做判断
所以上面的代码也茬OnApplicationQuit方法中调用离开房间的方法,即退出该程序时也退出该房间。

其功能就是加入或者创建房间如果之前已经创建了一个房间(创建的房间和加入的房间必须房间名称一致),就直接加入该房间即可;如果之前没有创建该房间则直接创建房间。其参数和CreateRoom方法的相同

其功能是加入房间,如果之前已经创建了一个房间(创建的房间和加入的房间必须房间名称一致)就直接加入房间即可;如果之前没有创建该房间,则会报错

其功能是加入一个随机的房间,如果之前已经创建了一个或多个房间其随机加入一个房间;如果之前没有创建该房间,则会报错

这就是一些常用的创建和加入房间的方法。

下面介绍几个常用的回调方法:

在创建房间之后自动调用该方法在该方法Φ一般做人物角色的生成和初始化以及其他一些初始化等。

在加入房间之后自动调用该方法在该方法中一般做人物角色的生成和初始化鉯及其他一些初始化等。

上面的方法都是在Photon中用到的频率比较高的那下一篇就介绍如何生成角色。

}

我要回帖

更多关于 unity3d如何联网 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信