我在查看客户端名称时遇到问题,但是在我的主机名称中显示了播放器的名称,所以我所做的就是这样
public override void OnPlayerEnteredRoom(Player newPlayer)
{
PlayersName();
}
private void PlayersName()
{
if (playerCount == 1)
{
playerNames[0].text = "Kingdom Player 1";
playerNames[1].text = "";
}
else
{
playerNames[0].text = "Kingdom Player 1";
playerNames[1].text = "Kingdom Player 2";
}
}
public override void OnPlayerLeftRoom(Player otherPlayer)
{
PlayersName();
}
现在它在双方都显示问题是它的优化效果不佳。有人可以帮我吗?
在光子中,您必须检查当前的房间播放器。您的代码更改很少。您不能直接使用玩家人数。更改后,此代码正常工作。
public override void OnPlayerEnteredRoom(Player newPlayer)
{
PlayersName();
}
public void PlayersName()
{
if (PhotonNetwork.CurrentRoom.PlayerCount == 1)
{
playerNames[0].text = "Kingdom Player 1";
playerNames[1].text = "";
}
else
{
playerNames[0].text = "Kingdom Player 1";
playerNames[1].text = "Kingdom Player 2";
}
}
public override void OnPlayerLeftRoom(Player otherPlayer)
{
PlayersName();
}
public override void OnPlayerEnteredRoom(Player newPlayer)
{
PlayersName();
}
public void PlayersName()
{
if (PhotonNetwork.CurrentRoom.PlayerCount == 1)
{
if (PhotonNetwork.IsMasterClient)
{
playerNames[0].text = "Kingdom Player 1";
playerNames[1].text = "";
}
}
else
{
if (PhotonNetwork.IsMasterClient)
{
playerNames[0].text = "Kingdom Player 1";
playerNames[1].text = "";
}
else
{
playerNames[0].text = "Kingdom Player 1";
playerNames[1].text = "Kingdom Player 2";
}
}
}
public override void OnPlayerLeftRoom(Player otherPlayer)
{
if (PhotonNetwork.IsMasterClient)
{
PlayersName();
}
else
{
PlayersName();
}
}
主客户端是您的第一玩家。您可以使用此代码作为玩家的名字。如果您同样遇到任何问题,请告诉我,否则将其标记为Answer和upvote。因此其他人使用此代码。