前言
Mirror是一个出色的开源游戏网络库,可以用来制作局域网多人游戏,最初Mirror诞生于Unity早起的Unet,后来Unity把Unet给弃用了,但是Mirror在官方团队的努力下,一直不停地优化框架,并且承诺永远不收费,并持续优化。
Mirror最大特点是,服务器和客户端是一个项目,从而实现最大的生产力,
只需使用NetworkBehaviour而不是MonoBehaviour即可:
▣ [Server] / [Client]标签用于仅服务器/仅客户端代码
▣ [Command]用于客户端->服务器函数调用
▣ [ClientRpc] / [TargetRpc]用于 Server->Client 函数调用
▣ [SyncVar] / SyncList 自动同步服务器->客户端的变量。
以这种方式制作多人游戏既有趣又简单!
示例场景分析
我们先来分析第一个示例Room
它包含 有3个场景,如下所示:
Offline场景是第一个启动场景,代表离线状态,未连接
Online场景代表启动服务器或者连上服务器后的在线状态,即在Room房间中
Game场景,代表所有玩家准备,然后房主开始游戏后,跳转到Game场景
Offline
首先我们打开Offline场景,我们发现它