Probleme de GUITexture

Questions à propos du GUI, y compris la partie script.
robo_info
Messages : 40
Inscription : 19 Juil 2011 11:50

Re: Probleme de GUITexture

Message par robo_info » 25 Août 2011 16:11

Merci pour votre réponse mais Onplayshot c'est pour jouer le sons une seul fois.

j'ai essayé avec le sons n'est pas bien entendu donc j'ai utilisé AudioSource.PlayClipAtPoint() car je peux manipuler la position de sons de tel sorte qu'il soit bien entendu.

c'est pas grave je vous bien remercie :)

ah j'ai un autre problème au niveau du bouton :)
j'ai assigné ce script à la caméra:

Code : Tout sélectionner

var icon : Texture2D;
var homme: GameObject;

function OnGUI (){
if(GUI.Button (Rect (10,10, 25, 60),icon)){

print("cc");

homme.animation.Play("sway");

}

}


mon perso3D exécute une animation("initiale") quand je clique sur le bouton une autre animation ("sway") va s'exécuter avec ce code c'est bon ça marche mais quand l'animation se termine le perso se bloque alorq que je veux qu'il revient à l'animation ("initiale")
j'ai essayé avec ce code :

Code : Tout sélectionner

var icon : Texture2D;
var homme: GameObject;

function OnGUI (){
if(GUI.Button (Rect (10,10, 25, 60),icon)){

print("cc");

homme.animation.Play("sway");
attente();
stop()

}

}

function stop(){
homme.animation.Play("initiale");
print("stop");
}


function attente(){
yield WaitForSeconds(10);
Debug.Log("attente");
}
mais l'animation ("sway") ne s’exécute pas que l'animation (initiale) qui s’exécute.

Vous pouvez m'aider s'il vous plait et je suis désolée pour le dérangement

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: Probleme de GUITexture

Message par cayou66 » 25 Août 2011 17:35

Hum, pour être sûr:

Essayes ça:

Code : Tout sélectionner


function playAnimationHomme()
{
 homme.animation.Rewind();

 homme.animation.Play("sway");
 yield WaitForSeconds(10);
 homme.animation.Stop();
 homme.animation.Play("initiale");
}
Tu as peut être ton animation qui dure trop longtemps où je ne sais quoi...
Attention aussi, l'animation une fois jouée ne se remet pas à zéro d'elle même, il faut faire un rewind.

La docs en parle bien (en anglais): http://unity3d.com/support/documentatio ... .Play.html

Tu peux tester aussi le retour de la fonction Play, qui renvoie false si elle échoue:

Code : Tout sélectionner

if(homme.animation.Play("sway") == false)
  print("Error while trying to play sway animation!");
tu devrais en savoir un peu plus ;)

PS: On se tutoie sur un forum, peu importe l'âge qu'on a ;) Tellement absurde la langue française de côté là...

Edit: tu peux essayer aussi quand tu joues l'animation de passer en paramètre " PlayMode.StopAll"

Code : Tout sélectionner

animation.Play("sway",  PlayMode.StopAll);

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: Probleme de GUITexture

Message par cayou66 » 25 Août 2011 17:41

Et pour le PlayOneShot, c'est normal que tu l'entende peu, une source audio a une position et un listener aussi.
Si ils se trouvent loin l'un de l'autre tu peux ne pas entendre le son, ça permet par exemple de faire le bruit d'une cascade, que tu entends de plus en plus fort :)

Donc tu peux toujours utiliser cette fonction à chaque fois que tu joues un son, en prenant soin de déplacer ta source sur le listener avant :)

Code : Tout sélectionner

source.transform.Translate(listener.transform.position);

Répondre

Revenir vers « L'interface GUI »