我正在尝试从我的服务器脚本中同步我的多维数据集的颜色。我有网络转换和网络身份组件,转换同步工作很好,现在我需要同步颜色。我需要像Network Material组件这样的东西或者我应该怎么做呢?谢谢:)(我希望你明白我的意思,抱歉英语。)
答案 0 :(得分:0)
您可以使用SyncVar属性同步值:
[SyncVar]
Color myColor;
这将使更改在客户端和服务器上保持同步。但这只是您的颜色类型中的一个字段,它实际上并不会改变渲染的颜色。
您可以在更新回调中将渲染的颜色更改为myColor
值,但即使颜色没有变化,它也会更新。
最好的方法是使用钩子:
[SyncVar (hook = "OnColorChanged")]
Color myColor;
每次更新颜色时都会调用“OnColorChanged”函数。
这样的事情应该有用(如果你正在使用SpriteRenders):
[SyncVar (hook = "OnColorChanged")]
Color myColor;
void OnColorChanged(Color value)
{
myColor = value;
GetComponent<SpriteRenderer>().color = myColor;
}