如何在 Photon 中获取所有玩家的位置

Posted

技术标签:

【中文标题】如何在 Photon 中获取所有玩家的位置【英文标题】:How to get the position of all the player in Photon 【发布时间】:2017-02-18 07:59:55 【问题描述】:

我想知道如何获取网络中所有可用玩家的位置。 那么如何更新我的脚本呢?

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Pathfinding : MonoBehaviour 
Transform[] Players;
int TotalPlayerCount=0;
void Update() 
    foreach (PhotonPlayer pl in PhotonNetwork.playerList) 
        if (GetComponent<PhotonView> ().isMine) 
            Players[TotalPlayerCount].position= //position of my player
            TotalPlayerCount++;
         
        else
        
            Players[TotalPlayerCount].position=//position of all other player available in the room
            TotalPlayerCount++;
        
    

【问题讨论】:

【参考方案1】:

每个客户端都可以使用 SetCustomProperties 设置其玩家的自定义属性,甚至在进入房间之前。加入房间时它们会同步。

Hashtable xyPos = new Hashtable();
xyPos.Add(1, "10");
xyPos.Add(2, "-20");
PhotonPlayer.SetCustomProperties(xyPos, null, true) ;

为了进一步阅读,您应该尝试以下教程(它将让您更清楚地了解如何获取和同步位置): http://doc.photonengine.com/en/pun/current/tutorials/tutorial-marco-polo#_Toc317517599

【讨论】:

以上是关于如何在 Photon 中获取所有玩家的位置的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Photon 中特定播放器的设置?

进入房间的最少玩家数量 PHOTON

如何在 Unity 中将 Sprite Flip 与 Photon2 同步

如何使用 Unity 中的 Photon 和骰子在棋盘游戏中创建回合制经理?

满足条件时显示 Photon Room(4 个玩家)中的一个玩家的字符串

如何通过Photon PUN同步变量