簡體   English   中英

在Unity 5中如何在多人游戲開始之前設置計時器?

[英]How to make timer before multiplayer game start in unity 5.?

在這里,我試圖創建一個多人游戲。 我想在游戲開始前設置計時器,所以我進行了研究,但對此沒有任何解決方案。 我目前正在為此使用“協程”。 但無法正常工作。它為所有玩家顯示了不同的時間。

private int j = 10;

void Start()
{
    if (isLocalPlayer)
    StartCoroutine (GameStartTimer ());
}


IEnumerator GameStartTimer()
{
    while (j > 0) {
        j = j - 1;
        Debug.Log ("Value of j is : " + j);
        startTimertext.text = j.ToString ();
        yield return new WaitForSeconds (1);
    }
    //ObjectParentingSystem ();
    GetPlayerAnimandRGB ();
    StartCoroutine (StartPlayerTimer ());
    //yield return new WaitForSeconds (10);
    gameStartTextPanel.SetActive (false);
}

我也嘗試下面的代碼,但不能成功。

void Start()
{
    if (isServer){
        StartCoroutine (GameStartTimer ());   
    }
    else{
        GetPlayerAnimandRGB ();
        StartCoroutine (StartPlayerTimer ());
        //yield return new WaitForSeconds (10);
        gameStartTextPanel.SetActive (false);
    }
}

如果任何人有此代碼或教程的代碼,則請共享鏈接。

如果我理解這一權利,則您有一個等待計時器,該計時器持續滴答10秒鍾。 一旦為零,則開始游戲計時器開始計時,只有連接的那些人才能玩游戲。

為了使所有玩家和計時器保持同步,您必須指定一個客戶端作為負責使所有其他客戶端保持同步的服務器,或者讓服務器向連接到該房間的所有玩家廣播時間。 否則,您將無法保持時間同步,因為玩家不會同時加入游戲室。

暫無
暫無

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

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