首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单地在客户端/服务器之间发送数据

简单地在客户端/服务器之间发送数据
EN

Stack Overflow用户
提问于 2018-10-01 01:43:41
回答 1查看 34关注 0票数 0

我正在尝试发送一个简单的多人游戏的数据,在这个例子中使用Var1和Var2。Var1应该作为Var2发送并存储在另一个用户的实例中。

我的代码可以正常工作,除了我认为服务器正在向自己发送数据并覆盖它接收的数据,因为如果我加载客户端并初始化/发送数据,服务器会看到它。然后,如果我到服务器初始化/发送数据,客户端就会看到它。但是,如果我返回到客户端并发送数据,服务器将不再看到它。这就像服务器既是客户端又是服务器。我是不是做错了什么?

代码语言:javascript
复制
public class mouseController : NetworkBehaviour
{
    GameLoop g;
void Start()
{
    GameObject thePlayer = GameObject.Find("Main Camera");
    g = thePlayer.GetComponent<GameLoop>(); 
}
void Update()
{

    if (!isLocalPlayer)
    {
        return;
    }

    if (isServer)
    {
        if (g.var1 > 0)
        {
            Rpcsenddata(g.var1);
        }
    }
    else
    { 
        if (g.var1 > 0)
        {
            Cmdsenddata(g.var1);
        }
    }
 }
    [Command]
    void Cmdsenddata(int i)
    {
        g.var2 = i;
    }
    [ClientRpc]
    public void Rpcsenddata(int i)
    {
        g.var2 = i;
    }
}

https://gyazo.com/b77e2ce35ec5f4d47147894c9430da03

(发送的数据是您的对手选择的卡片。服务器是右侧的窗口)

EN

回答 1

Stack Overflow用户

发布于 2018-10-01 03:03:10

我想我通过添加!isLocalPlayer检查来修复它

代码语言:javascript
复制
[ClientRpc]
public void Rpcsenddata(int i)
{
    if (!isLocalPlayer) {  
        g.ehandSelected = i;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52580507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档