Je me lance dans Unity et en voulant créer un projet simple je me heurte à une difficulté au niveau de mon script.
Mon objectif : Je possède dans mon projet un bouton appelé "P1" qui est de couleur verte au début. Lors d'un clic sur celui-ci il doit passer au rouge.
Informations :
- J'utilise 2 images au format png appelés "Rectangle vert" et "Rectangle rouge".
- Ces images sont assignés à l'objet P1 dans l'inspecteur d'Unity.
Problème : L'image switch bien du vert (image 1) au rouge (Image2) lors du premier clic mais au second clic l'image reste rouge. Seule la condition 1 est exécutée.
J'ai essayé plusieurs manip pour récupérer l'image source mais cela ne change pas l'issu du problème :
- ImageSource = P1.GetComponent<Image>();
- ImageSource = GameObject.Find("P1").GetComponent<Image>();
J'ai besoin d'une aide car là je suis malheureusement bloquée
Merci à vous.
Ci-dessous le code utilisé :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ScriptActivation : MonoBehaviour
{
// Declaration de mes variables
public GameObject P1;
public Sprite Image1;
public Sprite Image2;
Image ImageSource;
private void Start()
{
Debug.Log("Image 1: "+Image1); // renvoi bien l'image Rectangle vert
Debug.Log("Image 2: "+Image2); // renvoi bien l'image Rectangle rouge
}
public void ChangementImage()
{
ImageSource = P1.GetComponent<Image>(); // Récupere l'image source de l'objet "P1" ?
// regarde si l'image source de l'object est le rectangle vert ou rouge et fait un switch
if (ImageSource.sprite = Image1)
{
ImageSource.sprite = Image2;
Debug.Log("Condition 1");
}
else
{
ImageSource.sprite = Image1;
Debug.Log("Condition 2");
}
}
}
Merci