Problèmes avec un GUI qui ne s'affiche pas

Questions à propos du GUI, y compris la partie script.
Répondre
redman
Messages : 5
Inscription : 25 Juin 2016 00:31

Problèmes avec un GUI qui ne s'affiche pas

Message par redman » 25 Juin 2016 00:45

salut
je suis nouveau aussi bien sur ce forum que sur unity et pour mon premier jeux je veux créer un menu pause tout à fait classique mais, bien que mon correcteur ne détecte aucun problèmes émanant de mon algorithme le GUI ne s'affiche pas en jeu
ATTENTION toutefois : mon jeu fonctionne parfaitement et la pause également (j'entend par là l’arrêt du jeu quand on appuie sur echap qui fonctionne bien)
alors je me demande pourquoi il ne s'affiche pas ce fichu GUI
pour info je suis sur unity 5 (comme tout le monde je présume) mais le tuto que je suis a été réalisé sous unity 4 cela change-t-il quelque chose ? je suppose que oui
de plus voici le lien pastebin si vous désirez m'aider :
http://pastebin.fr/47038

Code : Tout sélectionner


    using UnityEngine;
    using System.Collections;
    using System;
    using UnityEngine.SceneManagement;
     
    public class gameGUI : MonoBehaviour {
     
     
        private GUIStyle style = new GUIStyle();
     
     
        private Rect pauseMenuPosition;
        private Rect quitButton;
        private Rect quitButtonTexture;
        private Rect resumeButton;
        private Rect resumeButtonTexture;
        private Rect restartButton;
        private Rect restartButtonTexture;
        private Rect mainMenuButton;
        private Rect mainMenuButtonTexture;
     
        private Texture2D PauseMenu;
        private Texture2D button;
     
     
        // Use this for initialization
        void Start () {
     
            setPauseGUIVisible(false);
     
            PauseMenu = (Texture2D)Resources.Load("Gui/PauseMenu", typeof(Texture2D));
            button = (Texture2D)Resources.Load("Gui/Button", typeof(Texture2D));
            style.font = (Font)Resources.Load("Font/Rebelion", typeof(Font));
            style.fontSize = 36;
            style.normal.textColor = Color.white;
        }
       
        // Update is called once per frame
        void Update () {
     
     
            if (Input.GetButtonDown("Start"))
            {
     
                if(Time.timeScale == 0)
                {
                    Time.timeScale = 1;
                    setPauseGUIVisible(false);
                }
                else
                {
                    Time.timeScale = 0;
                    setPauseGUIVisible(true);
                }
     
     
            }
           
     
     
     
        }
     
        private void setPauseGUIVisible(bool isVisible)
        {
            if (isVisible == true)
            {
                pauseMenuPosition = new Rect(0, 0, Screen.width, Screen.height);
            }
            else
            {
                pauseMenuPosition = new Rect(10, 10, Screen.width, Screen.height);
            }
     
     
     
        }
     
     
     
        void OnGui()
        {
            GUI.DrawTexture(pauseMenuPosition, PauseMenu);
            GUI.DrawTexture(resumeButtonTexture, button);
            GUI.DrawTexture(restartButtonTexture,button);
            GUI.DrawTexture(mainMenuButtonTexture, button);
            GUI.DrawTexture(quitButtonTexture, button);
     
     
            if(GUI.Button(resumeButton, "RESUME", style)) {
     
                Time.timeScale = 1;
                setPauseGUIVisible(false);
     
            }
     
            if(GUI.Button (restartButton, "RESTART", style)) {
     
     
                SceneManager.LoadScene("game_scene");
                Time.timeScale = 1;
               
     
            }
     
            if(GUI.Button(mainMenuButton, "MENU" , style)) {
     
                SceneManager.LoadScene("menu_scene");
                Time.timeScale = 1;
     
            }
     
            if(GUI.Button( quitButton, "QUIT", style)) {
     
                Application.Quit();
     
            }
     
        }
    }
toute aide sera la bienvenue pour un debutant comme moi
merci :)

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

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par Max » 25 Juin 2016 10:10

Bonjour,

Pour les codes, évite les trucs du genre Pastebin, intègre directement ton code dans ton message (entre les balises qui vont bien) , cela facilite les choses.
Message modifié. Merci.
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

redman
Messages : 5
Inscription : 25 Juin 2016 00:31

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par redman » 25 Juin 2016 12:13

ah ok d'accord je ne savais pas bah merci
mais pour ce qui est de ma question quelqu'un aurait une piste?

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

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par Max » 25 Juin 2016 12:17

redman a écrit :ah ok d'accord je ne savais pas bah merci
pas de soucis.
redman a écrit :mais pour ce qui est de ma question quelqu'un aurait une piste?
je n'ai pas vraiment pris le temps de creuser, mais juste un truc, et qui devrait expliquer ton problème,
le callback gui ce n'est pas OnGui(), mais OnGUI()...
Attention à la casse donc ;)
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

redman
Messages : 5
Inscription : 25 Juin 2016 00:31

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par redman » 25 Juin 2016 12:25

oh ouiiiii c'est vrai je me suis demandé à un moment si je l'avait bien écris
bon je vais tester ça

*teste*
*teste*
*teste*
*teste*
*teste*
*teste*
*teste*

c'est bon! ça marche merci beaucoup pour la rapidité de réponse
au fait j'ai remarqué que unity chargeait les GUI en permanence donc je me demandais si ça n'allait pas couter des ressources supplémentaire pour faire tourner un jeu qui par exemple utiliserait beaucoup de GUI comme un RPG ou un jeu de gestion

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

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par Max » 25 Juin 2016 12:44

redman a écrit :au fait j'ai remarqué que unity chargeait les GUI en permanence donc je me demandais si ça n'allait pas couter des ressources supplémentaire pour faire tourner un jeu qui par exemple utiliserait beaucoup de GUI comme un RPG ou un jeu de gestion
Cela a forcément un 'cout', qui dans certains cas peut avoir un impact réellement pénalisant en terme de perf.
Tu sembles passer par le système legacy (l'ancien pour être plus clair), pourquoi ne pas employer le système actuel ?
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

redman
Messages : 5
Inscription : 25 Juin 2016 00:31

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par redman » 25 Juin 2016 12:53

moi je dit pas non même si pour l'instant mon jeux pourrait tourner sur un bout de carton dans le futur je vais avoir besoin de mieux optimiser mes jeux
cela dit je ne sais ni les avantages du nouveau système par rapport a "legacy" ni (c'est ça qui est gênant) comment passer sur le nouveau système.

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

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par Max » 25 Juin 2016 12:54

Sauf cas particulier, le système actuel est quand même fortement conseillé.
Teste par toi même, c'est souvent la meilleurs des solutions: user-interface-ui
;)
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

redman
Messages : 5
Inscription : 25 Juin 2016 00:31

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par redman » 25 Juin 2016 13:04

oui mais si j'ai bien compris ça c'est pour faire des GUI sans code en passant par l'interface unity c'est bien ça ?
parce que moi je préfère pour l'instant écrire le code comme ça je le comprend et j'apprend l'api de unity
après si j'étais amené a en faire à la chaîne je sais pas mais pour l'instant ils sont simpliste donc pas besoin.
enfin je crois ......

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

Re: Problèmes avec un GUI qui ne s'affiche pas

Message par Max » 25 Juin 2016 14:26

redman a écrit :oui mais si j'ai bien compris ça c'est pour faire des GUI sans code en passant par l'interface unity c'est bien ça ?
à la base non, c'est peut-être là qu'il y a confusion.
Certes le nouveau système permet de mettre en place beaucoup de choses par le biais de l'éditeur, et évite effectivement de se taper des lignes et des lignes dans le OnGUI, ce qui est quand même vachement plus pratique crois moi (même si dans beaucoup de cas, une partie code garde sa place). Mais ceci dit, les deux systèmes GUI (le legacy et le nouveau) sont bien différents, ayant chacun leur propres classes/fonctions au niveau de l'API. Et en terme de perf (puisque c'est un peu ce que tu évoquais précédemment), le nouveau apporte un réel plus, sans parler des fonctionnalités supplémentaires et de la souplesse de mise au point offerte par l'éditeur, chose que tu n'avais pas nativement avec l'ancien.
redman a écrit :... et j'apprend l'api de unity .
...très louable sur le principe, mais une partie dépréciée, et qui est de moins en moins utilisée ;)

Après, si tout ce que tu fais fonctionne, et que tu te sent à ton aise, alors il n'y a pas de soucis. Rien ne t'empêchera par la suite d'avoir une autre approche et de faire autrement.
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

Répondre

Revenir vers « L'interface GUI »