Unity Network简介

举报
陈言必行 发表于 2021/08/13 23:04:19 2021/08/13
【摘要】 Unity中Network类了解网络编程相关知识点,从而可以设计出自己的局域网互动游戏小案例,,, NetWroke介绍 UnityEngne.Network是实现网络功能的核心之一,提供了基本的功能函数,例如建立服务器和加入服务器等。首先进行函数的介绍,然后通过一个案例讲解如何使用这些函数。 函数介绍 Network.InitializeServer(int ...

Unity中Network类了解网络编程相关知识点,从而可以设计出自己的局域网互动游戏小案例,,,

NetWroke介绍

UnityEngne.Network是实现网络功能的核心之一,提供了基本的功能函数,例如建立服务器和加入服务器等。首先进行函数的介绍,然后通过一个案例讲解如何使用这些函数。

函数介绍

Network.InitializeServer(int connettions,int Port,bool useNat);
该函数用于初始化服务器。Connections是最大连接数, Port是服务器监听的端口号,useNat表明是否使用Nat穿透。返回枚举类型NetworkConnectionError.返回NetworkConnectionError.NoError时表示创建服务器成功,没有错误.

Network.Connect(string IP,int Port);
该函数用于连接服务器,IP是所要连接的服务器的IP地址,Port是端口号。返回枚举类型NetworkConnectionError.返回NetworkConnetionError.NoError是表示连接服务器成功.没有错误.

Network.Disconnect();
该函数用于断开网络连接。如果是服务器的话,则是断开网络连接并连接服务器。


NetworkView是Unity封装的一套快速实现多人联机游戏的功能。以此为基础,我们可以开发各种类型的多人游戏,可以开发过关游戏的双人联机,也可以开发类似于CS的射击游戏,以房间为单位。

基本介绍
属性
* isMine : Network View 是否是由本机创建的。
* observed:指定被观察及同步的组件或者脚本。
* stateSynchronization: Network View的类型。OFF为没有数据将被同步,ReliableDeltaCompressed为当前数据发生变化时才发送,Unreliable为强制发送数据。
* viewID: NetworkViewID类型的ID。

方法
* RPC(Remote Procedure Call,远程过程调用)。在Network系统中可以理解为向其他机器发送消息,如果有通名函数将被调用。
* networkView.RPC(string funName,RPCMode mode,params object[] args);
* 参数funName为函数名,参数mode指定发送的范围,可选范围包括全部连接的机器包括本机,例如,All是发送给所有机器,Server是发送给服务器。
* args是传递的参数,可传可不传,支持类型包括int,float,string,NetworkPlayer,NetworkViewID,Vector3,Quaternion.
* 只要有Network View,那么任何游戏对象上的脚本的函数体前用[RPC]标注,就可以通过RPC来通知调用,但是函数名必须是唯一的,否则其中只有一个会被调用。

//已过时,目前还可使用,,
[RPC]
void funName()
{

}
API 上的函数
2

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/78288254

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200