[DB] Script quitter et charger scène

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
Ninios
Messages : 4
Inscription : 13 Août 2015 17:19

[DB] Script quitter et charger scène

Message par Ninios » 11 Nov 2020 21:46

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();
                
    }
}

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

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

Message par boubouk50 » 11 Nov 2020 22:10

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.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

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

Message par jmhoubre » 12 Nov 2020 02:02

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.

Ninios
Messages : 4
Inscription : 13 Août 2015 17:19

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

Message par Ninios » 14 Nov 2020 17:58

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 ?

Avatar de l’utilisateur
Max
Messages : 8763
Inscription : 30 Juil 2011 13:57
Contact :

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

Message par Max » 14 Nov 2020 19:26

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 ?
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Ninios
Messages : 4
Inscription : 13 Août 2015 17:19

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

Message par Ninios » 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...

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

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

Message par jmhoubre » 22 Nov 2020 01:07

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().

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

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

Message par boubouk50 » 23 Nov 2020 09:31

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.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « (C#) CSharp »