Cliquer sur différentes parties d'une image

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
SoPic
Messages : 32
Inscription : 02 Oct 2019 18:12

Cliquer sur différentes parties d'une image

Message par SoPic » 15 Oct 2019 09:11

Bonjour :)

Bon, impossible de trouver ce que je veux, donc je vous embête de nouveau...
J'ai une image sur laquelle j'aimerais avoir des zones cliquables. Bien entendu, pas des zones rectangulaires sinon c'est trop facile. J'ai cru comprendre que passer par un collider2D serait la solution. Je suis donc passé par un polygone collider pour détourer ma zone, mais je ne trouve pas comment détecter le clique sur le trigger :/
Tout ce que je vois ce sont des interactions entre colliders, mais pas avec la souris, ou mon doigt en l'occurrence puisque je suis sur mobile.
Il y a-t-il un moyen de détecter le clique sur un collider ou c'est ma méthode qui n'est pas bonne et du coup, comment faire ?
Merci beaucoup !!!

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

Re: Cliquer sur différentes parties d'une image

Message par Max » 15 Oct 2019 10:07

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

SoPic
Messages : 32
Inscription : 02 Oct 2019 18:12

Re: Cliquer sur différentes parties d'une image

Message par SoPic » 16 Oct 2019 16:15

Merci pour ta réponse !
J'ai essayé de mettre ça en place pour mon projet mais... il ne se passe rien du tout. Aucune idée du pourquoi du comment.
J'ai un canvas avec une image sur laquelle j'ai rajouté un polygon collider 2D. J'ai testé en faisant lecture et en faisant un build sur mon tél, même résultat...
Voici mon code :

Code : Tout sélectionner

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

public class ClickManager : MonoBehaviour
{

    void Update()
    {
        if (Input.touchCount > 0)
        {
            Touch touch = Input.GetTouch(0);
            Vector2 worldPoint = Camera.main.ScreenToWorldPoint(touch.position);
            RaycastHit2D hit = Physics2D.Raycast(worldPoint, Vector2.zero);
            if (hit.collider != null)
            {
                SceneManager.LoadScene("Splash", LoadSceneMode.Single);
                Debug.Log("trouvé");
            }
        }
    }
}

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

Re: Cliquer sur différentes parties d'une image

Message par Max » 16 Oct 2019 17:45

Bonsoir,
SoPic a écrit :
16 Oct 2019 16:15
J'ai un canvas avec une image sur laquelle j'ai rajouté un polygon collider 2D.
J'avais pas capté que tu étais sur du GUI.
Là pas sûr que cela soit la bonne approche donc.
Perso, sur une UI.Image pour délimiter des zones de forme rectangulaire, je le ferais en positionnant des images de la taille souhaitées (comme tu l'a fait avec les collider2D), avec pour chacune un EventTrigger PointerClick par exemple.
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

SoPic
Messages : 32
Inscription : 02 Oct 2019 18:12

Re: Cliquer sur différentes parties d'une image

Message par SoPic » 16 Oct 2019 17:54

Oui effectivement je n'avais pas précisé :gene3:
Des zones rectangulaires, c'est ma solution de secours car je vois comment faire (reste encore à y arriver). Là j'aimerais des formes plus stylisées, d'où l'utilisation du polygon collider. Mes formes sont un assemblage de triangles et des trapèzes...
Je vais continuer le développement de toute façon. Déjà si l'appli marche, il sera temps d'ajuster le style à fin ::d

Répondre

Revenir vers « Scripting »