Image.png
最终选择这个项目用来学习:
1、 Unity-NetWork
1-1、初始化服务器
2G%WR3TH)OBANG753_6~DQA.png
1-2、获取当前网络连接状态:
AWKM0(R%SZIA6@MIVVS0~OK.png
1-3、NetWork Connect:连接服务器(ip,端口号)
Paste_Image.png
2、游戏开始导入资源
3、通过上面的方法创建服务器端:Server
Paste_Image.png
根据不同的状态,添加相应的按钮
Q5529OKEA}5_S`W$O@T4%SD.png
4、在服务器端如何检测客户端接入、如何检测服务器端的初始化完成?
Image.png
Image.png
Paste_Image.png
5、检测客户端建立连接,与服务器对接
熟悉API:
Image.png
Paste_Image.png
注:因为当前我们是通过一套代码来编译成服务器与客户端,所以方法在一起写
Paste_Image.png
调试的时候注意,为了能够让打包出来的客户端失去焦点也能运行,就需要勾选BackGround,其实就是后台运行能力
Paste_Image.png
6、局域网创建游戏对象
Paste_Image.png
这里应该多做测试,测试当两端只有一端创建游戏对象时候,会不会同步?
客户端链接:
Paste_Image.png
7、让局域网内部的游戏对象位置同步:
NetWork组件:
给我们的预制物添加NetWork组件,就可以让其实现同步。
NetWork会把创建出来的客户端作为主人,就是主客户端,其他的客户端都会以主客户端为准。
Paste_Image.png
State Synchronization:通过网络视图生效的状态同步的类型
Paste_Image.png
View ID 视图编号
网络视图的唯一编号,这个值是只读的。
Scene ID 场景编号
在当前视图里的网络视图的数字编号。
Type 类型
这个选项将决定是在视图中预先创建或是实时创建。
如果你想通过在多个网络视图中选择一个来完成RPC时,请使用GetComponents(NetworkView)[i].RPC()。
接下来我们移动Cube
Paste_Image.png