繁体   English   中英

Unity,销毁客户端对象

[英]Unity, Client Object Destroying

嗨,大家好,我是通过客户端销毁网络上的物品的问题,所以我有一个提货系统,您可以走到这些物品上并捡起它们,当您捡起它们时,它们会被添加到库存中,并将其放入地面被摧毁。 现在,当您的服务器提货时,这一切都很好,但是当您的客户只是简单地不起作用时,将货品添加到库存中就可以了。 现在我一直在查看有关如何将其变成命令的命令,它似乎不起作用,您正在与之交互的项目具有本地玩家权限并已注册,并且玩家具有本地玩家的态度,但这只是行不通。 这是我的剧本

[Command]
public void CmdAddItem(GameObject hitcollider, int i)

{
    ClientScene.RegisterPrefab (hitcollider);
    NetworkServer.Destroy (hitcollider);
}

我也用ClientRPC做过同样的事情(它是完全相同的代码,并且与命令被调用的时间相同),但仍然无法正常工作,谢谢

如果要让服务器销毁给定的对象,则首先必须在所有客户端的NetworkManager上将其注册为可生成的预制件,它必须具有NetworkIdentity并且必须由服务器生成。

如果您已经有了此功能,则只需调用此函数:

    [Command]
    public void CmdDestroyObject(NetworkInstanceId netID)
    {
        GameObject theObject = NetworkServer.FindLocalObject (netID);
        NetworkServer.Destroy (theObject);
    }

其中netID是您要销毁的对象的NetworkInstanceId。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM