Bonjour,
Etant en plein apprentissage du moteur de jeu Unity, je rencontre un problème :
J'ai deux scènes, dans la première je met une AudioSource et je met un Canvas qui contient un bouton Mute (Pour couper le son de la musique).
Je voulais que quand je lance mon jeu, j'arrive sur la scène 1 et si je charge la scène 2, mon AudioSource et le Canvas avec le bouton Mute apparaissent dans la scène 2.
J'ai donc utilisé un Don't Destroy On Load dans un script C# que j'ai placé sur mon AudioSource, et un autre script avec un Don't Destroy On Load que j'ai placé sur le Canvas qui contient le bouton Mute.
Du coup, maintenant, quand je lance le jeu, j'arrive sur la scène 1 et si je charge la scène 2, la musique et le Canvas sont bien présent.
Mais j'ai un petit problème :
Même si mon bouton Mute est bien présent dans la scène 2, il ne fonctionne plus, car la fonction OnClick du bouton n'est plus renseigné.
Comment faire en sorte que mon Destroy On Load de mon bouton Mute garde la fonction OnClick de renseigné ?
Merci d'avance !
Problème avec don't destroy on load
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
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
Re: Problème avec don't destroy on load
Bonjour,
peut-être avec :
S'assurer que la scène est bien dans le build et au bon index et instancié ce script au chargement de la scène.
peut-être avec :
Code : Tout sélectionner
void Awake()
{
Scene scene = SceneManager.GetActiveScene();
if (scene.buildIndex == 1)
{
MyLoadMethod();
}
}
void MyLoadMethod()
{
GameObject.Find("My Button").GetComponent<Button>().onClick.AddListener(() => MuteMethod());
}
void MuteMethod()
{
// Do stuff.
}
Mon jeu de développement cellulaire : MICROBIOME (encore quelques bugs...)
(merci bien à ceux qui passent mettre des étoiles ! ^^)
(merci bien à ceux qui passent mettre des étoiles ! ^^)