using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class PlayerMove :NetworkBehaviour {
public int Speed = 5;
//要同步的信息
[SyncVar]
float h, v;
private void Update()
{//只移动本地的玩家
if (isLocalPlayer)
{
h = Input.GetAxis(“Horizontal”);
v = Input.GetAxis(“Vertical”);
}
Move(h, v);
CmdMOve(h, v);
}
///
/// 给服务器发消息
///
///
///
[Command]
void CmdMOve(float h,float v)
{
this.h = h;
this.v = v;
}
void Move(float h,float v)
{
transform.Translate(new Vector3(h,0,v)*Speed*Time.deltaTime);
}
}
————————————————————————
需要在场景中建一个空的游戏物体上面添加一个Network Manager HUD组件,然后在Network Manager组件的Spawn Info选项的 Player Prefab这里赋值一个要实例化的预制体
在预制体上面添加一个Network Identity组件然后勾选上Local Player Authorit选项;
在空的物体上添加Netwokr Start Position实例化的物品会在这个点出生,如果有几个Netwokr Start Position组件会在几个位置随机出现;