[Résolu] [DB-AL] Délai Unity

Questions à propos du GUI, y compris la partie script.
NatsuTwin
Messages : 21
Inscription : 29 Mars 2018 15:41

[Résolu] [DB-AL] Délai Unity

Message par NatsuTwin » 02 Juin 2018 21:41

Bonjour.

Je voudrais pouvoir créer un screamer avec unity, j'ai crée un code, il fonctionne, mais, le problème, c'est que j'aimerais pouvoir utiliser ce code quand j'appuie sur le bouton "Start". Pour créer mon délai j'ai utilisé le WaitForSeconds mais pour que ça fonctionne il faut que la classe soit de type "IEnumerator". Or, pour que quand on clique sur le bouton une action s'effectue, il faut une classe de type void. J'ai essayé de faire un Invoke mais j'ai pas compris comment ça fonctionne. Quelqu'un pourrait-il m'expliquer comment faire un screamer avec un délai? Ou m'expliquer comment faire fonctionner le bouton? Merci d'avance.

Code : Tout sélectionner


	



public IEnumerator onClickStart()
	{
		menuPrincipal = false;
		nomDuJeu.SetActive (false);
		ButtonOptions.SetActive (false);
		ButtonQuit.SetActive (false);
		ButtonStart.SetActive (false);
		ArrierePlanMenu.SetActive (false);
		musiqueActivate.gameObject.SetActive (false);

		screamerPhoto.gameObject.SetActive (false);
		screamerSound.gameObject.SetActive (false);
		texte3.gameObject.SetActive (false);
		texte4.gameObject.SetActive (false);

		EcranNoir.gameObject.SetActive (true);
		horrorSound.gameObject.SetActive (true);
		texte1.gameObject.SetActive (true);
		texte2.gameObject.SetActive (true);
		yield return new WaitForSeconds (tempsText);
		EcranNoir.gameObject.SetActive (false);
		horrorSound.gameObject.SetActive (false);
		texte1.gameObject.SetActive (false);
		texte2.gameObject.SetActive (false);

		screamerPhoto.gameObject.SetActive (true);
		screamerSound.gameObject.SetActive (true);
		yield return new WaitForSeconds (tempsScreamer);
		screamerPhoto.gameObject.SetActive (false);
		screamerSound.gameObject.SetActive (false);
	}
http://prntscr.com/jq0u2x (la fonction onClickStart n'apparait pas)
PS: Dans le code, je n'ai pas mis les variables,mais elles y sont bien dans le code
Dernière édition par NatsuTwin le 03 Juin 2018 16:14, édité 1 fois.

NatsuTwin
Messages : 21
Inscription : 29 Mars 2018 15:41

Re: [DB-AL] Délai Unity

Message par NatsuTwin » 02 Juin 2018 21:47

Je viens aussi d'essayer le fait de mettre toutes les variables et la fonction en "static", ça ne marche pas.

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

Re: [DB-AL] Délai Unity

Message par Max » 03 Juin 2018 10:47

Bonjour,

tu ne peux pas passer directement une coroutine en effet.
Par contre, tu peux très bien faire quelque chose du genre:

Code : Tout sélectionner

     public void StartSequence(){
         StartCoroutine(OnClickStart());
     }
     
     private IEnumerator OnClickStart(){
         ......
     }
et passer donc par StartSequence pour le ClickEvent de ton button.
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

NatsuTwin
Messages : 21
Inscription : 29 Mars 2018 15:41

Re: [DB-AL] Délai Unity

Message par NatsuTwin » 03 Juin 2018 13:49

Bonjour, cela fonctionne en effet, mais maintenant, j'ai un autre problème :).
Pourquoi mon texte s'affiche bien par dessus l'écran noir dans ma scène mais, dans le jeu, il ne s'affiche pas?
http://prntscr.com/jq830w

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

Re: [DB-AL] Délai Unity

Message par Max » 03 Juin 2018 14:11

NatsuTwin a écrit :
03 Juin 2018 13:49
Bonjour, cela fonctionne en effet, mais maintenant, j'ai un autre problème :).
Pourquoi mon texte s'affiche bien par dessus l'écran noir dans ma scène mais, dans le jeu, il ne s'affiche pas?
http://prntscr.com/jq830w
Difficile à dire avec si peu d'élément. Qu'est-ce qui compose ta scène, et ta partie UI.
Dans ton script, tu actives/désactives tellement de choses. Je vois des trucs du genre 'EcranNoir', etc....
Certains éléments de ton GUI ne sont-ils pas placé devant d'autres ? Ou non actif (tu devrais le voir dans ta Hierarchy).
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

NatsuTwin
Messages : 21
Inscription : 29 Mars 2018 15:41

Re: [DB-AL] Délai Unity

Message par NatsuTwin » 03 Juin 2018 14:18

http://prntscr.com/jq8bhz
Voilà ce qui compose ma scène

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

Re: [DB-AL] Délai Unity

Message par Max » 03 Juin 2018 14:43

tu n'as pas répondu à une partie de la question: au niveau de ton Canvas, tu as un 'EcranNoir' actif en même temps que les texts. EcranNoir devant le reste ?
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

NatsuTwin
Messages : 21
Inscription : 29 Mars 2018 15:41

Re: [DB-AL] Délai Unity

Message par NatsuTwin » 03 Juin 2018 14:57

C'est bon, ça fonctionne! L'"Ecran Noir" était après les texts.

Résolu et merci encore

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

Re: [DB-AL] Délai Unity

Message par Max » 03 Juin 2018 15:11

Pas de soucis.
Passe alors ton sujet en [RESOLU] (édition titre du message initial).
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

Répondre

Revenir vers « L'interface GUI »