Faire un jeu online sur Unity
Ce script va vous permettre de mettre votre jeu créé en réseau, et donc, de pouvoir jouer en réseau par la suite. Pour cela, vous devrez créer un fichier nommé « online.js », il s’agit d’un script codé en Javascript, qu’il faudra bien sûr appliquer à la caméra. Voici le code en question:
#pragma strict public static
//déclaration des variables pour le réseau
var remoteIP = "127.0.0.1"; var remotePort = 25000; var listenPort = 25000; var useNAT = false; var yourIP = ""; var yourPort = ""; var ipaddress = ""; var port = "";
function Start () {
}
function Update () {
}
function OnGUI () {
// Champs pour indiquer l'adresse IP et le ports remoteIP = GUI.TextField(new Rect(120,10,100,20),remoteIP); remotePort = parseInt(GUI.TextField(new Rect(230,10,40,20),remotePort.ToString())); // Vérification pour savoir si vous êtes connectés ou non au serveur if (Network.peerType == NetworkPeerType.Disconnected) { // Si vous n'êtes pas connecté if (GUI.Button (new Rect(10,10,100,30),"Connect")) { Network.useNat = useNAT; // Connexion au serveur Network.Connect(remoteIP, remotePort); } if (GUI.Button (new Rect(10,50,100,30),"Start Server")) { Network.useNat = useNAT; // Création du serveur Network.InitializeServer(32, listenPort); // Notifier que les objets de la scène sont prêts for (var go : GameObject in FindObjectsOfType(GameObject)) { go.SendMessage("OnNetworkLoadedLevel", SendMessageOptions.DontRequireReceiver); } } }
else { // Récupération de l'adresse IP et du port ipaddress = Network.player.ipAddress; port = Network.player.port.ToString();
GUI.Label(new Rect(140,20,250,40),"IP Adress: "+ipaddress+":"+port); if (GUI.Button (new Rect(10,10,100,50),"Disconnect")) { // Déconnexion du serveur Network.Disconnect(200); } }
} function OnConnectedToServer () { // Notifier les objets de la scène que le réseau est prêt for (var go : GameObject in FindObjectsOfType(GameObject)) go.SendMessage("OnNetworkLoadedLevel", SendMessageOptions.DontRequireReceiver); }
Voir le résultat:
GG merci