簡體   English   中英

使用Photon Unity Networking向聯網游戲中的特定玩家顯示消息

[英]Display a message to a specific player in a networked game using Photon Unity Networking

進入對象的觸發區域后,會向播放器顯示一條消息(通過標簽找到)。 如果播放器隨后按下拾取按鈕,則該物品將添加到其庫存中。 在單人游戲中效果很好。

當我使用PUN(光子網絡)時,它將顯示給所有玩家(因為所有玩家的腳本都檢測到該事件),並且所有玩家都可以拾取該物品。 我該如何解決這個問題?

我相信解決此問題將使我了解如何解決其他所有問題:

void OnTriggerEnter(Collider col)
{
    if (col.gameObject.tag == "Player")
    {
        displayMessage = true;
    }
}
void OnTriggerExit(Collider col)
{
    if (col.gameObject.tag == "Player")
    {
        displayMessage = false;
    }
}
bool stop = false;

void OnGUI()
{
    if (displayMessage)
    {

        if (GameObject.FindGameObjectWithTag("UInventory").GetComponent<UInventory>().inventoryMode == "Weight")
        {
            GUI.Label(new Rect((Screen.width/2)-200, (Screen.height/2)-30, 200, 45), "Press " + pickUpItem.ToString() + " To Take " + itemName + "(" + itemWeight + "kg)");
        }
        else
        {
            GUI.Label(new Rect((Screen.width/2)-200, (Screen.height/2)-30, 200, 45), "Press " + pickUpItem.ToString() + " To Take " + itemName);
        }
    }
}

僅當客戶端擁有網絡對象時,才應執行觸發代碼。 使用對象的“ PhotonView”組件的“ isMine”屬性檢查是否為真。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM