Du coup, j'ai mon GameObject (une sphère)qui est également mon Character.
Ce que je voudrais, c'est que mon GameObject alterne entre 3 couleurs (ici le rouge, le bleu et le jaune) avec donc la couleur "équipée", un Input pour passer à la couleur précédente et un autre pour passer à la couleur suivante.
J'ai donc pour l'instant ça comme script :
Code : Tout sélectionner
public Color Rouge = Color.red;
public Color Bleu = Color.blue;
public Color Jaune = Color.yellow;
public Color Sphere = Color.white;
public Renderer rend;
// Start is called before the first frame update
void Start()
{
rend = GetComponent<Renderer>();
rend.material.color = Sphere;
}
// Update is called once per frame
void Update()
{
{
if (Input.GetKeyDown(KeyCode.Z))
{
Sphere = Rouge;
rend.material.color = Sphere;
}
//gestion rouge à bleu
if (Sphere == Rouge && Input.GetKeyDown(KeyCode.E))
{
Sphere = Bleu;
rend.material.color = Sphere;
}
//gestion rouge à jaune
if (Sphere == Rouge && Input.GetKeyDown(KeyCode.A))
{
Sphere = Jaune;
rend.material.color = Sphere;
Du coup, je rajoute la suite pour la gestion du jaune et du bleu:
Code : Tout sélectionner
public class testcolor : MonoBehaviour
{
public Color Rouge = Color.red;
public Color Bleu = Color.blue;
public Color Jaune = Color.yellow;
public Color Sphere = Color.white;
public Renderer rend;
// Start is called before the first frame update
void Start()
{
rend = GetComponent<Renderer>();
rend.material.color = Sphere;
}
// Update is called once per frame
void Update()
{
{
if (Input.GetKeyDown(KeyCode.Z))
{
Sphere = Rouge;
rend.material.color = Sphere;
}
//gestion rouge à bleu
if (Sphere == Rouge && Input.GetKeyDown(KeyCode.E))
{
Sphere = Bleu;
rend.material.color = Sphere;
}
//gestion rouge à jaune
if (Sphere == Rouge && Input.GetKeyDown(KeyCode.A))
{
Sphere = Jaune;
rend.material.color = Sphere;
}
}
{//gestion bleu à jaune
if (Sphere == Bleu && Input.GetKeyDown(KeyCode.E))
{
Sphere = Jaune;
rend.material.color = Sphere;
}
//gestion bleu à rouge
if (Sphere == Bleu && Input.GetKeyDown(KeyCode.A))
{
Sphere = Rouge;
rend.material.color = Sphere;
}
}
{ //gestion Jaune à rouge
if (Sphere == Jaune && Input.GetKeyDown(KeyCode.E))
{
Sphere = Rouge;
rend.material.color = Sphere;
}
//gestion Jaune à Bleu
if (Sphere == Jaune && Input.GetKeyDown(KeyCode.A))
{
Sphere = Bleu;
rend.material.color = Sphere;
}
}
}
}
Quand ma sphère est rouge, appuyez sur le bouton A me fait passer en bleu (alors que selon la partie du code gérant le rouge, cela devrait être jaune), et en Bleu le même bouton me fait de nouveau passer en rouge.
Quand au bouton E, il ne modifie même plus les couleurs quand ma sphère est rouge, mais transforme le bleu en rouge.
Any tips ?