2017-01-05 2 views
-1

私はあなたがサーバーのSteam usernameに接続しているプレイヤーを見ることができるようにするために、スコアボードを作成しました。今のところ私はスコアボードとすべてを作成しましたが、唯一のことは、「プレイヤー名はここに」テキストの代わりに表示するスチームユーザー名を取得することだけです。私はいくつかのことを試してみましたが、きていない成功:(と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(); 
} 

}

最後のスクリプト:

+0

Eeer、あなたはむしろそれを繰り返し尋ねるよりも、供給するために多くの情報を持っているとき、あなたの質問を編集することができますので、ご注意ください。さらに、他の人があなたの質問を閉じるのを待つ必要はありません。自分がサイトに関連性​​がなくなったと感じる場合は、自分で削除することができます(upvoted回答がない場合)。 – Serlite

+0

申し訳ありません、それを削除するためにどこでも見つけることができませんでした;( – Avi3ator

答えて

0

これを達成するには、蒸気機関車をあなたのゲームに統合する必要があります。 このapiはあなたのゲームのユーザー、業績、steamworkshop等を検索するのに役立ちます。

あなたのゲームでスチームワークを動作させるには、蒸気でゲームをするためにバルブで承認されている必要があります。

Unity3Dの蒸気作業に関するすべての情報を含むチュートリアルです:Tutorial

友だちのリストをループして、名前とステータスを取得するにはどうすればよいですか?

希望すると、この件に関する詳細を理解するのに役立ちます。

編集: 私はいくつかの文書を見つけましたが、実際にはとても簡単です。

詳細については、thisウェブサイトをご覧ください。

EDIT2: お友達がいないので、申し訳ありません。

あなたは実際にこれを自分で処理しなければならないと思います。 ユーザーがゲームサーバーに接続するたびに、それらを簡単に取得できるようにリストに追加します。 その後、そのリストを使用してスコアボードを処理してください。

  • Mennolp
+0

私は蒸気作業を実装しました、私はちょうど他のすべてのプレーヤーのユーザー名を取得し、UIテキストに表示する方法を知りたいです:) – Avi3ator

+0

ああ私は、あなたが上記で尋ねた質問。 私は、UI Canvas、プレハブと垂直レイアウトコンポーネントの使用を検討することをお勧めします。 – Mennolp

+0

ええ、テキスト変数を作成しました。唯一必要なのは、プレイヤーにスチーム/スチームの名前を与えるコードです。 – Avi3ator