[DB-AL] Switcher entre 2 images

Questions à propos du GUI, y compris la partie script.
Wiwissem
Messages : 11
Inscription : 09 Mai 2018 20:54

[DB-AL] Switcher entre 2 images

Message par Wiwissem » 09 Mai 2018 21:34

Bonjour à toute et à tous,
Je poste aujourd'hui car, ayant débuté sur Unity, moi et deux amis voualtn créer un jeu s'inspirant de Paper Please et je dois réussir à créer un bouton qui me permet de passer d'un client à un autre.
Le problème c'est que je n'arrive même pas à switcher entre deux images, pourtant je dois supposer que cela doit être facile mais avec le code ci-dessous même Unity n'arrive pas à retrouver l'image que je veux charger dans le panel
Merci d'avance.

Code : Tout sélectionner

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

public class Next_essai : MonoBehaviour {

    public Image Foucault; 
    public string Pathf = "png/Foucault"; //Chemin vers l'image

    public Image Harold; 
    public string Pathh = "png/Harold"; //Chemin vers l'image

    void Start () {
        Foucault.sprite = (Sprite)Resources.Load<Sprite>(Pathf) as Sprite; 
    }
	

	void OnMouseDown () {

        if (Input.GetMouseButtonDown(1))
            Debug.Log("Harold");
            Harold.sprite = (Sprite)Resources.Load<Sprite>(Pathh) as Sprite;




    }
}

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

Re: [DB-AL] Switcher entre 2 images

Message par Max » 10 Mai 2018 09:49

Bonjour,

plusieurs questions:
ton gameobject possède-t-il un collider ? Tu as un DebugLog dans ta fonction, as-tu l'affichage dans la console lors d'un click sur cet objet ? Tes sprites sont-il dans le répertoire Resources (voir dans ton cas Resources/png/) ?
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

Wiwissem
Messages : 11
Inscription : 09 Mai 2018 20:54

Re: [DB-AL] Switcher entre 2 images

Message par Wiwissem » 10 Mai 2018 16:37

J'ai essayé de mettre un collider mais c'est carrément le panel qui fait l'animation du boutton lorsqu'on clique dessus.
Les messages ne s'affichent même pas dans la console même sans le Resources.Load.
Et pour les dossiers c'est Assets/png, je vois pas l'utilité du dossier Resources?

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

Re: [DB-AL] Switcher entre 2 images

Message par Max » 10 Mai 2018 16:51

Wiwissem a écrit :
10 Mai 2018 16:37
Et pour les dossiers c'est Assets/png, je vois pas l'utilité du dossier Resources?
Tu passes par la fonction Resources.Load dans ton code, comme le souligne la doc, tout ce que tu va charger par ce biais doit se trouver dans ce dossier (à créer si il n'existe pas).
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

Wiwissem
Messages : 11
Inscription : 09 Mai 2018 20:54

Re: [DB-AL] Switcher entre 2 images

Message par Wiwissem » 10 Mai 2018 17:07

Oh mon Dieu :o , je suis vraiment passé à côté de quelque chose, je pensais que ça marchait comme le GetComponent mais en moins lourd.
Mais je l'ai créer et j'ai réussi à charger la première image :-D , maintenant il faut que j'arrive à passer d'une image à une autre et je pense à utiliser le Set.active mais j'ai des doutes :0

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

Re: [DB-AL] Switcher entre 2 images

Message par Max » 10 Mai 2018 17:09

ça peut fonctionner, mais tu était partis sur un switch entre deux images (sprites), pourquoi changer de méthode ?
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

Wiwissem
Messages : 11
Inscription : 09 Mai 2018 20:54

Re: [DB-AL] Switcher entre 2 images

Message par Wiwissem » 10 Mai 2018 19:30

Pour changer d'image il faut bien que je fasse disparaître la première non?
Donc c'est bien du booléen pour les faire disparaître(ex:La première image =>True, et dans ma fonction OnMouseDown je la change en "false" et la deuxième image obtient le Set.Active(true) pour la faire apparaître, ai-je faux?
Mais une autre question:Quelle est l'utilité du collider ici, je n'ai pas besoin de physique pour mon jeu?

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

Re: [DB-AL] Switcher entre 2 images

Message par Max » 10 Mai 2018 20:14

Wiwissem a écrit :
10 Mai 2018 19:30
Mais une autre question:Quelle est l'utilité du collider ici, je n'ai pas besoin de physique pour mon jeu?
Au niveau de ta selection (par OnMouseDown dans ton script), j'avais pas vraiment capté qu'on était sur la partie UI.
Donc de fait, en terme d'interaction, pour la partie UI, passe plutôt par les Events et non par OnMouseDown.
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

Wiwissem
Messages : 11
Inscription : 09 Mai 2018 20:54

Re: [DB-AL] Switcher entre 2 images

Message par Wiwissem » 10 Mai 2018 21:57

Bah je pensais l'avoir dis mais on doit cliquer sur un bouton que j'ai crée par mes soins :lol: , et c'est ce bouton nommée Next.
Mais du coup je remplace OnMouseDown par Event dans ma fonction?

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

Re: [DB-AL] Switcher entre 2 images

Message par Max » 11 Mai 2018 07:35

Bonjour,
Wiwissem a écrit :
10 Mai 2018 21:57
Mais du coup je remplace OnMouseDown par Event dans ma fonction?
Non pas tout à fait. Il faudrait je pense que tu regardes un peu comment se gère la partie UI. Concernant les Events tu as ce genre de chose qui pourrait mieux t'éclairer.
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 « L'interface GUI »