【发布时间】:2016-08-12 01:23:08
【问题描述】:
我有两名球员,这些球员正在击球。每当他们击球时,球的颜色就有可能发生变化。(绿色或红色)。但是当一个球员击球时,它只会改变他自己的球颜色,其他球员的球是相同的颜色。我希望所有玩家都能看到相同的颜色。代码如下:
using UnityEngine;
using UnityEngine.Networking;
public class ColorGreen : NetworkBehaviour
{
// Use this for initialization
[SyncVar]
int temp = 0;
void Start () {
transform.GetComponent<Renderer>().material.color = Color.green;
}
// Update is called once per frame
void Update () {
if (!isServer)
return;
RpcCHANGE();
}
[ClientRpc]
void RpcCHANGE()
{
temp = Random.Range(0, 2);
if (temp == 0)
{
transform.GetComponent<Renderer>().material.color = Color.green;
}
else if(temp == 1)
{
transform.GetComponent<Renderer>().material.color = Color.red;
}
}
}
球对象的网络身份已检查“本地玩家权限”。你们能告诉我我做错了什么吗?
谢谢。
【问题讨论】:
标签: unity3d network-programming rpc unity-networking