Page 2 sur 2

Re: Project Horror

Publié : 06 Déc 2017 17:07
par boubouk50
je crois que c'est parce que tu le lis a chaque frame.
Il te faut tester s'il joue avant de la lire:

Code : Tout sélectionner

{
 	//Play the audio
           if (!audio.isPlaying) //Si le son n'est pas joué
           {
           	AudioSource audio = GetComponent<AudioSource>();
            	audio.Play();
           }
}

Re: Project Horror

Publié : 08 Déc 2017 15:50
par Scurreo
Super c'était bien ça, que veux dire précisément le !audio ?

Re: Project Horror

Publié : 08 Déc 2017 15:55
par boubouk50
audio.isPlaying est booléen qui te signale si le son est joué ou non.
Un booléen prend deux états Vrai et Faux.
Ajouter ! devant un booléen renvoie l'état inverse.
donc si audio.isPlaying est Faux (le son n'est pas joué), !audio.isPlaying est Vrai, donc la condition est vérifiée.
Pour visualiser mieux:
!audio.isPlaying c'est le chemin rapide pour écrire audio.isPlaying == false

Code : Tout sélectionner

if (!audio.isPlaying) { ... }
equivaut à
if (audio.isPlaying == false) { ... }

Re: Project Horror

Publié : 08 Déc 2017 15:58
par Scurreo
D'accord je viens de comprendre merci beaucoup

Re: Project Horror

Publié : 08 Déc 2017 16:14
par ZJP
boubouk50 a écrit :
08 Déc 2017 15:55
Ajouter ! devant un booléen renvoie l'état inverse.
Dans une affectation. :-D (Boubouk le sait bien sur. Juste un complément d'informations, sinon, cela semblera une contradiction par rapport à la suite du commentaire)

Code : Tout sélectionner

toto = true;
toto = !toto; // toto est maintenant à false
toto = !toto; // toto est maintenant à true
C'est une bascule (Flip-Flop) qui évite /

Code : Tout sélectionner

if (toto == true) /* OU SIMPLEMENT */ if (toto)
	 toto = false;
ou

if (toto == false)
	 toto = true;
;-)