Unity高级开发-项目(一):CS局域网之战

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容