簡體   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