Bonjour à tous,
Dans mon petit projet 2D, je dispose de 3 scènes:
MainMenu
Main (le jeu)
Game over.
Lorsque l'on commence le jeu, on a la fenêtre menu, on clique sur jouer, et cela lance la scène Main avecProblème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.Loadlevel("Main")
Les points de vie du personnages tombent à 0 quand le héros meurt ou quand il change de niveau. (donc GameOver forcé)
Quand je lance directement la scène "Main", je n'ai pas ce problème. Le jeu marche très bien.
J'en ai déduis que la variable des points de vie n'a pas la bonne "portée" si je lance la scène depuis la scène du menu.
Pourquoi?
J'ai essayé de passer la variable à static afin de conserver la valeur et cela marche. (j'ai lu que ce n'était pas une solution recommandée, y a-t-il des alternatives?)
Le problème est alors qu'à la mort du personnage, la "scène écran" GameOver apparaît, renvoie au menu et lorsque l'on relance la partie, la variable des points de vie est à 0. (vu que sa précédente valeur était égale ou inférieure à 0)
Ma variable de point de vie est déclarée comme ci-dessous dans le gestionnaire de jeu de la scène "Main".
Peut-on garder la variable en
Code : Sélectionner tout - Visualiser dans une fenêtre à part public int HPet lui assigner la valeur par défaut lors de l'écran GameOver?
Code : Sélectionner tout - Visualiser dans une fenêtre à part public static HP
J'ai bien essayé mais il ne la détecte pas quand je veux lui assigner une valeur.
Si quelqu'un avait une explication à mon problème, ou une piste que je puisse essayer.
Partager