using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyClient : MonoBehaviour {
string roip = "请输入要连接的服务器IP";
//默认的端口号
int lport = 10000;
//判断是否使用Nat转换技术
bool usenat = false;
private void OnGUI()
{
switch(Network.peerType)
{
//客户端没有连接服务器
case NetworkPeerType.Disconnected:
//调用开始连接客户端自定义函数
Startconnect();
break;
case NetworkPeerType.Client:
//显示客户端连接后的状态
Clientto();
break;
case NetworkPeerType.Connecting:
Debug.Log("连接中.....");
break;
}
}
private void Clientto()
{
GUILayout.Label("成功连接到服务器!");
}
private void Startconnect()
{
roip = GUILayout.TextField(roip);
if(GUILayout.Button("连接服务器"))
{
//通过输入的服务器IP地址 端口号和密码登陆
NetworkConnectionError error = Network.Connect(roip, lport, "123456");
Debug.Log(error);
}
}
//连接成功后系统自动调用函数
private void OnConnectedToServer()
{
foreach(GameObject go in FindSceneObjectsOfType(typeof(GameObject)))
{
go.SendMessage("OnNetworkLoaded", SendMessageOptions.DontRequireReceiver);
}
}
}
设置成功连接服务器后,实例化一个带有物理效果的cube
脚本代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerControl : MonoBehaviour {
public Transform control;
void OnNetworkLoaded()
{
//实例化control所有信息(位置,旋转信息和组名)
Network.Instantiate(control, transform.position, transform.rotation, 0);
}
}
欢迎加群818869194,大家一起学习进步