[RESOLU]Switch entre deux sprite C#

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
RenNoun
Messages : 8
Inscription : 19 Août 2020 13:07

[RESOLU]Switch entre deux sprite C#

Message par RenNoun » 20 Août 2020 17:34

Bonjour,

Je début avec unity, et j'ai très peu de connaissances en programmation alors je viens poser une petite question.

Je cherche le moyen le plus simple et logique pour intervertir deux objets ou plutôt changer un objet en un autre objet.
Exemple: j'ai un carré et quand je clique dessus, je voudrais que ça devienne un cercle ou autre forme.

j'ai un peu cherché mais je n'ai pas trouvé de réponse alors je me retourne vers la commu pour voire si on peut me proposer quelque chose d’intéressant merci !
Dernière édition par RenNoun le 22 Août 2020 04:27, édité 1 fois.

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Switch entre deux objets C#

Message par Max » 20 Août 2020 17:50

Bonsoir,
RenNoun a écrit :
20 Août 2020 17:34
Exemple: j'ai un carré et quand je clique dessus, je voudrais que ça devienne un cercle ou autre forme.
Une des solutions serait de désactiver le premier GameObject (GameObject.SetActive()), puis d'activer le second objet, et de la positionner aux même coordonnées que le premier (Transform.position)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

RenNoun
Messages : 8
Inscription : 19 Août 2020 13:07

Re: Switch entre deux objets C#

Message par RenNoun » 20 Août 2020 18:33

Bonjour Max, merci pour ta réponse,

Au début c'est un peu prêt ce que je fessais mais, plus j'avançait moins c'était bon.
Exemple

Code : Tout sélectionner

public GameObject etoile;


    
    void OnMouseDown()
    {
        
        if (Input.GetMouseButtonDown(0))
        {
            etoile.SetActive(true);
        }
    }
mais biensur je plaçait l'objet aux coordonées par moi même, le souci c'est que si j'ai 10 objets ou plus a changer en un même objet. ça n'as plus aucune valeur.

j'ai essayé aussi avec

Code : Tout sélectionner

public SpriteRenderer spriteRenderer;
    public Sprite newSprite;


    void ChangeSprite()
    {
        spriteRenderer.sprite = newSprite;
    }


    void Start()
    {
        spriteRenderer = gameObject.GetComponent<SpriteRenderer>();
    }
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            ChangeSprite(newSprite);
        }
    }
mais la encore j'ai un problème avec ChangeSprite(newSprite)

je continue a chercher le souci mais voilà, quand on débute c'est un peu compliqué ^^'

RenNoun
Messages : 8
Inscription : 19 Août 2020 13:07

Re: Switch entre deux objets C#

Message par RenNoun » 20 Août 2020 18:38

Ok j'ai trouvé le souci je pense

Dans

Code : Tout sélectionner

public SpriteRenderer spriteRenderer;
public Sprite newSprite;


void ChangeSprite(Sprite newSprite)
{
spriteRenderer.sprite = newSprite;
}


void Start()
{
spriteRenderer = gameObject.GetComponent<SpriteRenderer>();
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
ChangeSprite(newSprite);
}
}

Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Switch entre deux objets C#

Message par Max » 20 Août 2020 18:45

j'étais dans une approche 3D.
Effectivement, en 2D et pour des sprites, c'est plus simple.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Répondre

Revenir vers « Scripting »