最近使用unity自带的 network 组件进行开发 走了很多的弯路 主要是对数据的同步
network 的组件下面有二个 Stste synch 和 observed state 是对宽带以及传输数据的要求,
observed 同步组件, 要同步的组件必须放在该组件的上方 才能够读取数据。 要同步的组件直接拖入到observer 上面
如何书写数据同步脚本
void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
{
int health = 0;
if (stream.isWriting)
{
health = currentHealth;
stream.Serialize(ref health);
}
else
{
stream.Serialize(ref health);
currentHealth = health;
// 客户端
this.gameObject.GetComponent<VRManager>().sceneNum = currentHealth;
this.gameObject.GetComponent<VRManager>().changescen();
}
}
调用 unity自带的
void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) 这个函数进行 传值
传值就是一个数据的写入 和读取 通过中间变量来传值,
大体的思路是这样子,至于如何使用 数据自己操作。