Probleme de GUITexture
Probleme de GUITexture
Bonjour,
but: quand je clique sur mon perso3d il y a une GUITexture qui disparaît et une autre qui va être afficher après quelque secondes elle va disparaître
j'ai déclaré 2 GUITexture et je veux jouer sur leur visibilité, au début je les ai déclarés comme ceci:
var Lacasse : GUITexture = FindObjectOfType(GUITexture);
var ApreCasse : GUITexture = FindObjectOfType(GUITexture);
mais à l’exécution une seul qui est affichée.
après des recherches ,j'ai trouvé qu'il faut les déclarer en tant que GameObject comme suivant:
Lacasse = gameObject.Find("textu");
Lacasse .active=false;
ApreCasse = gameObject.Find("casse2");
ApreCasse.active = false;
et au niveau de la fonction:
Function OnMouseDown(){
vitre = gameObject.Find("textu");
ApreCasse = gameObject.Find("casse2");
Debug.Log("clique me");
//traitement
Lacasse.active=true;
//traitement
yield WaitForSeconds(0.9);
Lacasse.active=false;
ApreCasse.active=true;
yield WaitForSeconds(5);
ApreCasse.active=false;
}
Le problème quand je clique rien n'est affiché et au niveau du console une erreur qui s"est déclenché:
NulReferenceException
j'ai même essayé avec les tableau la même erreur:
NullReferenceException
(wrapper dynamic-method) UnityEngine.GameObject.GameObject$set_active$System.Boolean (object,object[]) <IL 0x00019, 0x00064>
S'il vous plaît Est ce que quelqu'un a une aidé peut m'aider vraiment j'ai essayé tout mais je me suis bloqué.
Merci d'avance.
but: quand je clique sur mon perso3d il y a une GUITexture qui disparaît et une autre qui va être afficher après quelque secondes elle va disparaître
j'ai déclaré 2 GUITexture et je veux jouer sur leur visibilité, au début je les ai déclarés comme ceci:
var Lacasse : GUITexture = FindObjectOfType(GUITexture);
var ApreCasse : GUITexture = FindObjectOfType(GUITexture);
mais à l’exécution une seul qui est affichée.
après des recherches ,j'ai trouvé qu'il faut les déclarer en tant que GameObject comme suivant:
Lacasse = gameObject.Find("textu");
Lacasse .active=false;
ApreCasse = gameObject.Find("casse2");
ApreCasse.active = false;
et au niveau de la fonction:
Function OnMouseDown(){
vitre = gameObject.Find("textu");
ApreCasse = gameObject.Find("casse2");
Debug.Log("clique me");
//traitement
Lacasse.active=true;
//traitement
yield WaitForSeconds(0.9);
Lacasse.active=false;
ApreCasse.active=true;
yield WaitForSeconds(5);
ApreCasse.active=false;
}
Le problème quand je clique rien n'est affiché et au niveau du console une erreur qui s"est déclenché:
NulReferenceException
j'ai même essayé avec les tableau la même erreur:
NullReferenceException
(wrapper dynamic-method) UnityEngine.GameObject.GameObject$set_active$System.Boolean (object,object[]) <IL 0x00019, 0x00064>
S'il vous plaît Est ce que quelqu'un a une aidé peut m'aider vraiment j'ai essayé tout mais je me suis bloqué.
Merci d'avance.
Re: Probleme de GUITexture
Pour être sûr de ton code:
Attention à la casse (si c'est vraiment le code que tu as)
Et non
Ensuite, ça renvoie une null exception si les objet n'existent pas dans la scène et/ou son inactif (active = false, ou décochés, ou encore grisés).
Si ils sont inactifs, il vaut mieux que tu créé deux variables publiques en haut de ton code et via Unity de mettre à jour les champs avec les objets de ta scène.
Heu, alors, en JS...si mes souvenirs sont bons...
Et là va apparaitre à côté de ton script attaché à l'objet (dans les propriétés) le champs Lacasse, vide.
Hop, un glissé déposé de ton objet de ta scène dedans, et tu aura accès
Et les balises codes s'il te plaîs
Attention à la casse (si c'est vraiment le code que tu as)
Code : Tout sélectionner
GameObject.Find("toto");
Code : Tout sélectionner
gameObject.Find("toto");
Si ils sont inactifs, il vaut mieux que tu créé deux variables publiques en haut de ton code et via Unity de mettre à jour les champs avec les objets de ta scène.
Heu, alors, en JS...si mes souvenirs sont bons...
Code : Tout sélectionner
public var Lacasse : GUITexture;
Hop, un glissé déposé de ton objet de ta scène dedans, et tu aura accès
Et les balises codes s'il te plaîs
Re: Probleme de GUITexture
Merci pour votre aide j'ai corrigé gameObject comme vous m'avez dit et j'ai ressayé mais encore la même erreur:
NullReferenceException
animtete+$OnMouseDown$7+$.MoveNext () (at Assets/script/animtete.js:34)
UnityEngine.SendMouseEvents:DoSendMouseEvents()
et j'ai essayé avec
public var Lacasse : GUITexture;
mais quand je veux assigner la texture (image PNG) à la variable cette dernère est inaccecible.
est ce qu'il y a une autre solution je pense que le problème dans OnMouseDown()
(je suis désolée pour le côtes du code car je suis nouvelle sur ce site et je ne sais pas comment les faire )
NullReferenceException
animtete+$OnMouseDown$7+$.MoveNext () (at Assets/script/animtete.js:34)
UnityEngine.SendMouseEvents:DoSendMouseEvents()
et j'ai essayé avec
public var Lacasse : GUITexture;
mais quand je veux assigner la texture (image PNG) à la variable cette dernère est inaccecible.
est ce qu'il y a une autre solution je pense que le problème dans OnMouseDown()
(je suis désolée pour le côtes du code car je suis nouvelle sur ce site et je ne sais pas comment les faire )
Re: Probleme de GUITexture
J'ai pas dû m'expliquer correctement
Déjà les balises codes tu as un bouton au dessus du champ où tu écris ton message "Code".
Et ça créé des balises, tu places ton code entre les deux [ c o d e ] .... [ / c o d e ] (sans les espaces).
Pour le reste, une texture n'est pas un GUITexture.
Lorsque tu créé ta variable publique, elle apparaît vide dans les propriétés, il faut que la remplisse avec un GUITexture...Tu dois avoir dans ta scène un objet GUITexture non, auquel tu veux accéder?
J'te montre avec un screenshot réalisé par mes soins
En espérant être un peu plus explicite
Déjà les balises codes tu as un bouton au dessus du champ où tu écris ton message "Code".
Et ça créé des balises, tu places ton code entre les deux [ c o d e ] .... [ / c o d e ] (sans les espaces).
Pour le reste, une texture n'est pas un GUITexture.
Lorsque tu créé ta variable publique, elle apparaît vide dans les propriétés, il faut que la remplisse avec un GUITexture...Tu dois avoir dans ta scène un objet GUITexture non, auquel tu veux accéder?
J'te montre avec un screenshot réalisé par mes soins
En espérant être un peu plus explicite
Re: Probleme de GUITexture
wéééééé ça marche
grannnnd merci c'est trés gentil c'est bien expliqué.
j'ai une autre question à propos le son, est ce que je peux poser la question ici ?
Merci
grannnnd merci c'est trés gentil c'est bien expliqué.
j'ai une autre question à propos le son, est ce que je peux poser la question ici ?
Merci
Re: Probleme de GUITexture
Merci beaucoup
Mon perso3D possède des différentes animations (rassemble à celui Tom le chat de iPhone)
quand on touche le coeur il va crier puis il tombe quand il marche il chante etc...
le problème de son est le suivant:
quand je touche le coeur puis les jambes l'animation change bien sûr mais le sons de crier termine son exécution on dirait rien n'est pas changé de tel sorte le son de crier et celui de chanter se jouent au même temps alors que je veux quand l'animation change un seul sons qui s’exécute.
j’espère que j 'ai bien expliqué.Merci pour votre aide
ça marche avec les balises de code
Mon perso3D possède des différentes animations (rassemble à celui Tom le chat de iPhone)
quand on touche le coeur il va crier puis il tombe quand il marche il chante etc...
le problème de son est le suivant:
quand je touche le coeur puis les jambes l'animation change bien sûr mais le sons de crier termine son exécution on dirait rien n'est pas changé de tel sorte le son de crier et celui de chanter se jouent au même temps alors que je veux quand l'animation change un seul sons qui s’exécute.
Code : Tout sélectionner
var chanter : AudioClip;
function OnMouseDown(){
homme.animation.Play("venir");
AudioSource.PlayClipAtPoint(chanter, Vector3 (9, 9, -19));
}
ça marche avec les balises de code
Re: Probleme de GUITexture
As-tu essayé de faire PlayOneShot?
Il te faut un AudioClip en paramètre (même principe que le GUITexture) que tu passes à la fonction.
Elle sera jouée une seule fois.
Attention du coup à la position de ton AudioSource par rapport à l'audioListener
Il te faut un AudioClip en paramètre (même principe que le GUITexture) que tu passes à la fonction.
Elle sera jouée une seule fois.
Attention du coup à la position de ton AudioSource par rapport à l'audioListener
Re: Probleme de GUITexture
oui j'ai essayé avec Oneplayshot mais rien n'est changé
je suis désolée mais j'ai pas bien compris :
"Il te faut un AudioClip en paramètre (même principe que le GUITexture) que tu passes à la fonction.
Elle sera jouée une seule fois.
Attention du coup à la position de ton AudioSource par rapport à l'audioListener"
Pouvez vous m'expliquer?Merci
je suis désolée mais j'ai pas bien compris :
"Il te faut un AudioClip en paramètre (même principe que le GUITexture) que tu passes à la fonction.
Elle sera jouée une seule fois.
Attention du coup à la position de ton AudioSource par rapport à l'audioListener"
Pouvez vous m'expliquer?Merci
Re: Probleme de GUITexture
Heu, si t'as déjà essayé et que ça marche pas...
Je disais ça par rapport à la fonction:
http://unity3d.com/support/documentatio ... eShot.html
Il te fallais donc comme pour le GUITexture une variable publique que tu renseigne dans l'éditeur, de la même manière (glissé déposé).
Mais si ça marche pas, je vois pas trop
Je disais ça par rapport à la fonction:
http://unity3d.com/support/documentatio ... eShot.html
La fonction prend un audioClip en paramètre, elle ne joue pas celui renseigné dans l'interface d'unity.function PlayOneShot (clip : AudioClip, volumeScale : float = 1.0F) : void
Il te fallais donc comme pour le GUITexture une variable publique que tu renseigne dans l'éditeur, de la même manière (glissé déposé).
Mais si ça marche pas, je vois pas trop