[DB - AL] Image UI à partir d'un script

Questions à propos du GUI, y compris la partie script.
Naru
Messages : 11
Inscription : 12 Fév 2017 16:04

[DB - AL] Image UI à partir d'un script

Message par Naru » 01 Mars 2017 01:29

Bonjour à tous !

Je viens de prendre en main les Canvas, les UI et j'ai un soucis avec les images.
Actuellement voici mon code pour la gestion des textes:

Code : Tout sélectionner

public class ClickOnMe : MonoBehaviour {

    public string description;
    public Text descriptionText;

    void OnMouseDown()
    {
        descriptionText.text = "Description : " + description;       
    }
}
Ici j'ai donc une case qui se crée sur Unity pour que j'entre mon texte qui s'affiche ensuite sur le panel lorsque je clique sur l'objet sur lequel est placé mon script.
J'aimerais faire exactement pareil avec mon Image. Je crée ma case image (oui c'est un sprite) grâce à:

Code : Tout sélectionner

public Sprite descriptionImage;
Et maintenant j'aimerais l'afficher sur mon panel... Et impossible de trouver la fonction nécessaire !

Merci d'avance si j'ai été compréhensible :P

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB - AL] Image UI à partir d'un script

Message par boubouk50 » 01 Mars 2017 10:46

Salut Naru,

Ta description du code n'est pas vraiment juste, ce que tu fais c'est juste affecter un texte à un component Text.
Pour afficher une image, tu peux activer/désactiver son gameObject ou son Component.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Naru
Messages : 11
Inscription : 12 Fév 2017 16:04

[DB-AL]Image et Panel

Message par Naru » 01 Mars 2017 16:34

Bonjour à tous !

Je viens de prendre en main les UI et voici mon problème: je n'arrive pas à utiliser les images à partir d'un script. Mon code actuellement gère du texte. J'ai un attribut publique qui me permet de rentrer un texte qui s'affiche ensuite à l'écran lors du clic souris sur l'objet qui possède le script:

Code : Tout sélectionner

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ClickOnMe : MonoBehaviour {

    public string description; //La description que l'on va rentrer
    public Text descriptionText; //Zone du panel avec le texte
    public Image descriptionImage; //Zone du panel avec l'image
    public Sprite Image; //L'image que l'on va choisir
    
    void OnMouseDown()
    {
        descriptionText.text = "Description : " + description;      
    }
}
J'ai bien déclaré mes champs mais je ne trouve pas la fonction pour l'afficher sur le panel concerné comme je l'ai fait pour mon texte.

Merci d'avance si j'ai été claire ;)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB - AL] Image UI à partir d'un script

Message par boubouk50 » 01 Mars 2017 16:53

Ce n'est pas la peine de tout répéter... :roll:

As-tu regarder les liens que je t'ai donné?
Comprends-tu comment fonctionne le code que tu nous donnes? Je veux bien t'expliquer, mais pas faire le code à ta place.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Naru
Messages : 11
Inscription : 12 Fév 2017 16:04

Re: [DB - AL] Image UI à partir d'un script

Message par Naru » 01 Mars 2017 19:33

Oh je suis vraiment désolée je ne pensais pas avoir posté deux fois mon sujet ! Je pensais que mon sujet n'avais pas été posté puisque je ne le voyais nul part du coup je l'ai remis et voilà ce qu'il s'est passé... Excuses moi si je t'ai paru mal polie, je regarde ton lien ce soir et je reviens lorsque j'aurais mieux compris :) Merci :)

Naru
Messages : 11
Inscription : 12 Fév 2017 16:04

Re: [DB - AL] Image UI à partir d'un script

Message par Naru » 02 Mars 2017 15:20

Il est très probable que je ne comprenne pas toujours très en profondeur ce que je fais en effet !
J'ai regardé ton lien, j'en comprend que je peux activer mon image uniquement lors de mon clic souris. Par contre ça m'affiche donc l'image que j'ai défini dans "Source Image " directement dans mon Image dans mon Canvas.
Or je veux pouvoir afficher des images différentes... Comment accéder à l'attribut "Source Image" pour le remplacer par un sprite que j'aurais déclaré dans mon script (avec

Code : Tout sélectionner

public Sprite monImage;
?

Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

Re: [DB - AL] Image UI à partir d'un script

Message par DevAmat » 02 Mars 2017 15:34

Dans ton script attaché a l'objet qui possède le sprite, tu accèdes a ton sprite comme ceci:
transform.GetComponent<SpriteRenderer>().sprite = LeSpriteQueTuVeuxMettre;

Répondre

Revenir vers « L'interface GUI »