2016-05-21 8 views
0

Ich bin neu in Unity und versuche ein Online-Multiplayer-Spiel zu erstellen. Dieses Spiel ist ein Panzerkampf. Der Tank ist vorgefertigt und muss zweimal angelegt werden. Wenn Sie die Leertaste drücken, schießt der Tank eine Kugel. Ich habe alle Netzwerkverbindungen fertig, aber jetzt möchte ich die Spieler kontrollieren. Zum Beispiel, wenn localPlayer einmal schießt, müsste dies der zweite Spieler sein und so weiter.Wie man den Zug eines Spielers in einem Online-Multiplayer-Spiel in Unity ändert

Kann mir bitte jemand helfen?

Antwort

1

Wie wäre es mit einer gemeinsamen Variable, die nach jedem Zug aktualisiert wird? Abhängig vom Wert der Variablen können Sie bestimmen, wer an der Reihe ist. Sie müssen die Reihenfolge festlegen, in der sie sich abwechseln, bevor Sie das Spiel starten. Angenommen, Sie haben n Spieler und einen gemeinsamen int-Wert x, der sich nach jeder Runde um 1 erhöht.

if(x%n == turn && Input.GetKeyDown(KeyCode.Space)) 
    shoot(); 

Spieler können nur dann schießen, wenn sie an der Reihe sind. Verwenden Sie eine einfache RPC-Funktion, um x nach jedem Zug von den Clients zu aktualisieren.

Verwandte Themen