我創建了一個遊戲記分牌,我希望你能夠看到連接到服務器Steam用戶名的玩家。到目前爲止,我已經創建了記分牌和所有內容,現在唯一的辦法是讓蒸汽用戶名顯示出來,而不是我的「玩家名字出現在這裏」文本。我已經試過幾件事情,但沒有成功:(Unity Steamworks-Leaderboard
這是記分牌腳本:
[SerializeField]
GameObject playerScoreboardItem;
[SerializeField]
Transform playerScoreboardList;
void OnEnable()
{
Player[] players = GameManager.GetAllPlayers();
foreach(Player player in players)
{
GameObject itemGO = (GameObject)Instantiate(playerScoreboardItem, playerScoreboardList);
PlayerScoreboardItem item = GetComponent<PlayerScoreboardItem>();
if(item != null)
{
item.Setup(SteamFriends.GetPersonaName());
}
}
}
void OnDisable()
{
foreach(Transform child in playerScoreboardList)
{
Destroy(child.gameObject);
}
}
}
這是ScoreboardItem腳本:
[SerializeField]
Text usernameText;
public void Setup(string username)
{
usernameText.text = SteamFriends.GetPersonaName();
}
}
而最後一個腳本:
string username = SteamFriends.GetPersonaName();
CmdSetUsername(transform.name, username);
}
GetComponent<Player>().Setup();
}
[Command]
void CmdSetUsername (string playerID, string username)
{
Player player = GameManager.GetPlayer(playerID);
if(player == null)
{
Debug.Log(SteamFriends.GetPersonaName() + "joined!");
player.username = SteamFriends.GetPersonaName();
}
}
Eeer,請注意,當你有更多的信息來提供,而不是要求其反覆您可以編輯您的問題。此外,您無需等待其他人關閉您的問題 - 如果您覺得他們不再與網站相關(如果他們沒有提供有效的答案),您可以自行刪除它們。 – Serlite
對不起,沒有找到任何地方刪除它;( – Avi3ator