Page 1 sur 2

Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 15:11
par RomainDel
Bonjour,
je cherche quel est le code pour appeller la texture d'un bouton avec les nouvelles UI.

Code : Tout sélectionner



var CouleurVert : Texture2D;
var CouleurVertA : Texture2D;
var BoutonVert : GameObject;
var TextureVert : Texture;
var TextureBleu : Texture;


var Tank : GameObject;

var Conteur = 1;

function OnMouseDown() {

    if (Conteur == 1) {

       // BoutonVert.Image.SourceImage = CouleurVertA; ?????????

        Conteur = 2;
	
        Tank.GetComponent.<Renderer>().material.mainTexture = TextureVert;
    }	

    else if (Conteur == 2) {

        //   BoutonVert.Image.SourceImage = CouleurVertA; ??????????

        Conteur = 1;
	
        Tank.GetComponent.<Renderer>().material.mainTexture = TextureBleu;
    }	

    }


Cela doit être un truc tout con mais je bloque dessus depuis se matin, donc si quelqu'un pouvait me le dire.

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 15:24
par boubouk50
GetComponent () Scrogneugneu! ;-)
Pour tout accès à un Component d'un gameObject, il faut passer par un GetComponent () exception faite du transform.

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 15:36
par RomainDel
Avec get componant() j'y arrive pas non plus
voila ce que je fait:

Code : Tout sélectionner

        BoutonVert.GetComponent.<CanvasRenderer>().Image.sourceImage = CouleurVertA;

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 15:44
par boubouk50
Va te documenter un peu sur les Components pour mieux assimiler ce qu'ils sont.

Pour faire court:
Pourquoi aller chercher le Component CanvasRenderer? C'est pas lui qui possède l'image que je sache? C'est le Component Image qu'il te faut. C'est lui qui possède l'image.
Ensuite, ce n'est pas parce que la variable dans l'Inspector se nomme source Image, que c'est ce que tu cherches.
C'est pour cela que la documentation est faite:
Documentation Unity Image
Tu trouveras donc que l'image est représentée par un sprite et donc pour changer ce sprite il faut accéder à la variable sprite.
Ainsi, tu obtiens: (C'st du C# mais ça semble la même syntaxe pour le Js)

Code : Tout sélectionner

BoutonVert.GetComponent.<Image>().sprite = CouleurVertA;
Il va de soi que CouleurVertA est de type Sprite.

EDIT - (Mon dieu que ce post paraît pédant et arrogant... Bon faut pas le prendre comme ça, hein!)

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 15:45
par RomainDel
En fait je veux acceder a ca :
Image

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 17:39
par Iwa
Si tu suis ce que Boubouk t'as donné, tu auras ce que tu cherches :)

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 17:58
par RomainDel
Cela me donne cette reponse quand je fait la methode a boubouk:

Image

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 18:06
par Iwa
Il te manque un accès au package. Si tu vas dans ton éditeur de code favoris, clique droit sur "Image" et tu dois avoir un lien "Resolve" au début, dans Mono. Tu as sûrement la mm chose dans Visual, je sais plus comment ça s'appelle.

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 18:10
par boubouk50
c#

Code : Tout sélectionner

using UnityEngine.UI;

Re: Comment appeller la texture d'un bouton JS?

Publié : 26 Jan 2016 18:16
par RomainDel
Non y a pas ca dans Microsoft visual studio.

Bon du coup c'est juste une librairie a ajouter, manque plus qu'a trouver la quelle...


Edit:
ok merci beaucoup, je vais essayer de le passer en JS

Edit:
voila la ligne de code

Code : Tout sélectionner

#pragma strict
import UnityEngine.UI;