Unity网络通信三同步物体Word下载.docx

上传人:b****6 文档编号:18622922 上传时间:2022-12-29 格式:DOCX 页数:6 大小:15.61KB
下载 相关 举报
Unity网络通信三同步物体Word下载.docx_第1页
第1页 / 共6页
Unity网络通信三同步物体Word下载.docx_第2页
第2页 / 共6页
Unity网络通信三同步物体Word下载.docx_第3页
第3页 / 共6页
Unity网络通信三同步物体Word下载.docx_第4页
第4页 / 共6页
Unity网络通信三同步物体Word下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

Unity网络通信三同步物体Word下载.docx

《Unity网络通信三同步物体Word下载.docx》由会员分享,可在线阅读,更多相关《Unity网络通信三同步物体Word下载.docx(6页珍藏版)》请在冰豆网上搜索。

Unity网络通信三同步物体Word下载.docx

GameObjectcube02=null;

GameObjectmyself=null;

GameObjectanother=null;

//Usethisforinitialization

voidStart(){

cube01=GameObject.Find("

Cube01"

);

cube02=GameObject.Find("

Cube02"

}

//OnGUI方法,所有GUI的绘制都需要在这个方法中实现

voidOnGUI(){

//Network.peerType是端类型的状态:

//即disconnected,connecting,server或client四种

switch(Network.peerType){

//禁止客户端连接运行,服务器未初始化

caseNetworkPeerType.Disconnected:

StartServer();

break;

//运行于服务器端

caseNetworkPeerType.Server:

OnServer();

//运行于客户端

caseNetworkPeerType.Client:

//正在尝试连接到服务器

caseNetworkPeerType.Connecting:

voidStartServer(){

GUILayout.Label("

同步测试:

"

//当用户点击按钮的时候为true

if(GUILayout.Button("

创建服务器"

)){

//初始化本机服务器端口,第一个参数就是本机接收多少连接

NetworkConnectionErrorerror=Network.InitializeServer(12,Port,false);

//连接状态

switch(error){

caseNetworkConnectionError.NoError:

default:

Debug.Log("

服务端错误"

+error);

连接服务器"

NetworkConnectionErrorerror=Network.Connect(IP,Port);

客户端错误"

voidOnServer(){

服务端已经运行,等待客户端连接"

//Network.connections是所有连接的玩家,数组[]

//取客户端连接数.

intlength=Network.connections.Length;

//按数组下标输出每个客户端的IP,Port

for(inti=0;

i&

lt;

length;

i++){

客户端"

+i);

客户端ip"

+Network.connections[i].ipAddress);

客户端端口"

+Network.connections[i].port);

-------------------------------"

断开服务器"

Network.Disconnect();

//接收请求的方法.注意要在上面添加[RPC]

[RPC]

voidProcessMove(stringmsg,NetworkMessageInfoinfo){

//刚从网络接收的数据的相关信息,会被保存到NetworkMessageInfo这个结构中

stringsender=info.sender.ToString();

//看脚本运行在什么状态下

NetworkPeerTypestatus=Network.peerType;

if(status==NetworkPeerType.Server){

myself=cube01;

//假如运行在server状态下,那么自己就是cube1

another=cube02;

}else{

myself=cube02;

//假如运行在client状态下,那么自己就是cube2

another=cube01;

//假如是自己发送的信息

if(sender=="

-1"

){

if(msg=="

W"

myself.transform.Translate(Vector3.forward*Time.deltaTime*moveSpeed);

S"

myself.transform.Translate(Vector3.back*Time.deltaTime*moveSpeed);

A"

myself.transform.Translate(Vector3.left*Time.deltaTime*moveSpeed);

D"

myself.transform.Translate(Vector3.right*Time.deltaTime*moveSpeed);

//假如是别人发送的信息

else{

another.transform.Translate(Vector3.forward*Time.deltaTime*moveSpeed);

another.transform.Translate(Vector3.back*Time.deltaTime*moveSpeed);

another.transform.Translate(Vector3.left*Time.deltaTime*moveSpeed);

another.transform.Translate(Vector3.right*Time.deltaTime*moveSpeed);

//Updateiscalledonceperframe

voidUpdate(){

//前移

if(Input.GetKeyDown(KeyCode.W)){

wwwwwwwww|"

networkView.RPC("

ProcessMove"

RPCMode.All,"

if(Input.GetKey(KeyCode.W)){

//后退

if(Input.GetKeyDown(KeyCode.S)){

sssssssss!

if(Input.GetKey(KeyCode.S)){

//向左移动

if(Input.GetKeyDown(KeyCode.A)){

if(Input.GetKey(KeyCode.A)){

//向右移动

if(Input.GetKeyDown(KeyCode.D)){

if(Input.GetKey(KeyCode.D)){

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1