Page 1 sur 1

[DB] Script quitter et charger scène

Publié : 11 Nov 2020 21:46
par Ninios
Bonjour à tous,

j'essaie de créer un script pour mon menu avec 2 boutons :
- 1 pour charger une scène
- 1 pour quitter le jeu

En me basant sur plusieurs tuto youtube, j'ai créé le script ci-dessous mais sans succès...

J'ai l'impression que les fonctions "UnityEngine.SceneManagement", "SceneManager" et "Application.Quit" n'appelle pas de fonctions - il n'y a pas de changement de couleur dans VisualStudio2019 et les fonctions n'apparaissent pas dans le menu déroulant.

Est-ce qu'une âme charitable saurait m'expliquer l'erreur svp ?

Un grand merci !

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using System.Runtime.Hosting;
using UnityEngine;
using UnityEngine.SceneManagement;

public class MainMenu : MonoBehaviour
{
///bouton charger une scène///
    public void PlayGame ()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
    }
///bouton quitter ///
    public void Quit ()
    {
        Debug.Log("quit");
        Application.Quit();
                
    }
}

Re: [DB] Script quitter et charger scène

Publié : 11 Nov 2020 22:10
par boubouk50
Salut.

Code : Tout sélectionner

 SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
Ici, tu va charger la scène suivante celle en cours, si elle n'est pas renseignée dans le Scenes in Build des Build Settings, cela ne chargera rien.

Code : Tout sélectionner

Application.Quit();
En mode éditeur (play mode), cela ne fait rien, il faut un build pour que cela fonctionne.

Re: [DB] Script quitter et charger scène

Publié : 12 Nov 2020 02:02
par jmhoubre
Bonsoir,
as-tu affecté les fonctions à tes boutons (dans l'événement OnClick, ajouter un événement) ?
Pour en être certain, met un Debug.Log ("nom_de_la_fonction") dans tes fonctions. Si cela s'affiche dans la console quand tu actionnes les boutons, cela fait déjà une erreur d'éliminée.

Re: [DB] Script quitter et charger scène

Publié : 14 Nov 2020 17:58
par Ninios
Bonjour,

j'avais mal affecté la fonction à mes boutons je pense, je viens de recommencer, j'ai lancer le jeu et la fonction quitter fonctionne. Merci beaucoup !

En revanche, il me reste encore un point à éclaircir :
j'ai créer un projet "Menu Principal" avec mes boutons jouer + quitter
et un second projet "Jeu" avec ma plateforme.

Par contre je n'arrive pas à compiler ces 2 projets en un seul au moment de "Build" le jeu. Ni même à importer un projet dans l'autre sans générer des centaines de bugs.
Est-ce que cette manipulation est possible ou faut-il tout recréer à chaque fois dans un seul et même projet ?

Re: [DB] Script quitter et charger scène

Publié : 14 Nov 2020 19:26
par Max
Bonsoir,

Ce que tu appelles des projets sont visiblement des scènes (ce n'est pas pareil).
Donc tu sembles avoir deux scènes: une avec ton menu, et une seconde avec ton premier niveau de jeu, si j'ai bien compris.
Ces deux scènes doivent normalement avoir été intégrées au niveau du Build.

Après quand tu dis:
Ninios a écrit :
14 Nov 2020 17:58
Par contre je n'arrive pas à compiler ces 2 projets en un seul au moment de "Build" le jeu. Ni même à importer un projet dans l'autre sans générer des centaines de bugs.
Je ne comprend pas quand tu dis "importer un projet dans l'autre".
Et quels sont ces bugs, et quels sont les messages d'erreurs surtout ?

Re: [DB] Script quitter et charger scène

Publié : 21 Nov 2020 19:00
par Ninios
Plutôt que d'ouvrir un projet et plusieurs scènes à l'intérieur, j'aurais souhaité créer plusieurs projets (1 par scène) et les assembler à la fin.

Ceci pour éviter l'erreur :
" The editor layout could not be fully loaded, this can happen when the layout contains EditorWindows not available in this project
UnityEditor.WindowLayout:LoadDefaultWindowPreferences()"

Lorsque je charge certains assets...

Re: [DB] Script quitter et charger scène

Publié : 22 Nov 2020 01:07
par jmhoubre
Bonsoir,
je ne suis pas sur qu'il soit possible de créer plusieurs projets contenant chacun une seule scène et d'assembler le tout à la fin pour faire un seul exécutable. Il est peut-être possible de faire des dll à partir d'un projet. En tout cas cela me parait être un sujet avancé, comme tu ne t'es pas présenté, je ne connais pas ton niveau.
L'erreur que tu signales arrive également avec des projets vides. Ca tient, semble-t-il, aux layouts, ces modèles de disposition de fenêtres dans l'éditeur. Tu peux te débarrasser de cette erreur en remettant ton affichage aux paramètres usine (tout à droite de la barre d'outils Layouts > Revert Factory Settings...).
La solution consiste à appeler les scènes de façon classique (les déclarer dans les paramètres du build, et les appeler avec SceneManagement.Load().

Re: [DB] Script quitter et charger scène

Publié : 23 Nov 2020 09:31
par boubouk50
Ninios a écrit :
21 Nov 2020 19:00
Plutôt que d'ouvrir un projet et plusieurs scènes à l'intérieur, j'aurais souhaité créer plusieurs projets (1 par scène) et les assembler à la fin.

Ceci pour éviter l'erreur :
" The editor layout could not be fully loaded, this can happen when the layout contains EditorWindows not available in this project
UnityEditor.WindowLayout:LoadDefaultWindowPreferences()"

Lorsque je charge certains assets...
Il n'y a aucun rapport entre l'un et l'autre, ni aucune justification de faire plusieurs projets (et pourquoi d'ailleurs??? D'où te viens une idée aussi invraisemblable???)
Soit tu fais un projet, soit tu en fais plusieurs, mais tu n'en fais pas plusieurs pour n'en faire qu'un. Ca n'a aucun sens.