[Réseau] Changement de scene

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
FougereBle
Messages : 21
Inscription : 28 Mars 2014 22:31

[Réseau] Changement de scene

Message par FougereBle » 07 Juin 2015 22:30

Bonjour/Bonsoir,

Je voulais créer un petit en réseau avec Unity, mais je me heurte dès le départ à un problème.

J'ai deux scènes : "Loby" et "Game".

Lorsqu'on lance le jeu, on est sur la scène "Loby". Dans cette scène, il y à un champ de texte pour entrer l'adresse IP, et deux boutons (un pour se connecter au serveur avec ladite adresse IP), l'autre pour créer un serveur.

J'ai donc ce code (je ne met que la partie la plus importante).

Code : Tout sélectionner

private void ClickBtn(string btn)
{
    if (btn == "Join")
    {
        Network.Connect(uiIPField.text, port);
        Application.LoadLevel("Game");
    }

    else if (btn == "Host")
    {
        Network.InitializeServer(2, port, false);
        Application.LoadLevel("Game");
    }
}
Tout fonctionne... enfin presque !

Lorsque je lance le jeu une première fois et que je créer un serveur, et bien le serveur est bien créer, et je suis dans la scnène "Game". Dans cette scène, je créer un GameObject "Player" (qui à un NetworkView).

Ensuite, je lance le jeu une seconde fois, et je clique sur "Rejoindre". Je suis aussi dans la scène "Game", et le personnage est aussi créer.

Problème : Avec la fenêtre deux du jeu (lorsque j'ai lancé le jeu pour la deuxième fois) je ne vois pas le joueur n°1.
Pourtant, je vois bien le joueur n°2 avec la première fenêtre du jeu.

En gros, lorsque je me connecte à un serveur, et bien tout les GameObject qui ont été créer (des GameObject avec NetworkView et créer avec Network.Instantiate()) avant la connexion ne sont pas pris en compte, et donc ne sont pas créer.

J'ai réussi à résoudre le problème en mettant tout le contenu de la scène "Loby" dans "Game", mais bon, j'aimerais bien séparer les deux scnènes pour plus de clarté.

Je voulais donc savoir comment passer d'une scène à l'autre, mais en réseau (donc en résolvant le problème posé plus haut).

Si quelqu'un à une idée, je suis preneur ! :D

Merci !

Répondre

Revenir vers « (C#) CSharp »