uibutton de la forme de ma png ou autre solution

amau96amau96 Membre
mars 2011 modifié dans Vos applications #1
Bonjour à  tous,

Je voudrais creer un petit quizz, la particularité est que la réponse serait une carte (comme celle de la france) cliquable

je voudrais donc savoir comment vous feriez ca, car j'ai essayé d'utiliser ca : http://iphonedevelopment.blogspot.com/2010/03/irregularly-shaped-uibuttons.html

mais le resultat n'est pas parfait. Y a t'il d'autre solution pour faire des png cliquable? L'idée c'est que l'on puisse cliquer sur une region de la france.


Merci d'avance à  tous

Réponses

  • DrakenDraken Membre
    mars 2011 modifié #2
    Ton lien ne fonctionne pas ..

    La première idée qui me vient à  l'esprit est d'utiliser DEUX images de la France, la carte normale et une autre où chaque région est peinte dans une couleur spécifique. A chaque Touch tu récupères la position (x,y) sur la carte et tu lis la couleur du pixel correspondant sur la seconde carte.

    Bleu pour l'à®le de France, Vert pour la Bretagne, etc..

    La carte "coloriée" ne sera jamais affichée sur l'écran. C'est juste un repère interne pour l'application.

  • amau96amau96 Membre
    02:17 modifié #3
    L'inconvénient de cette solution c'est que tu ne fait pas d'effet sur le clic, l'utilisateur ne "voit" pas ou il a cliqué.

    http://iphonedevelopment.blogspot.com/2010/03/irregularly-shaped-uibuttons.html
  • DrakenDraken Membre
    mars 2011 modifié #4
    C'est juste une méthode de détection, mais tu peux ajouter un effet graphique sur l'écran pour "matérialiser visuellement" le touch. Par exemple un cercle de couleur transparente apparaissant sous le doigt, disparaissant progressivement.

    EDIT : En regardant le tuto je vois qu'il utilise plus ou moins la même méthode que moi, tester la couleur d'un pixel. Sauf que la détection se fait sur la transparence et non la couleur RGB.

  • AliGatorAliGator Membre, Modérateur
    02:17 modifié #5
    dans 1299355404:

    Ton lien ne fonctionne pas ..

    La première idée qui me vient à  l'esprit est d'utiliser DEUX images de la France, la carte normale et une autre où chaque région est peinte dans une couleur spécifique. A chaque Touch tu récupères la position (x,y) sur la carte et tu lis la couleur du pixel correspondant sur la seconde carte.

    Bleu pour l'à®le de France, Vert pour la Bretagne, etc..

    La carte "coloriée" ne sera jamais affichée sur l'écran. C'est juste un repère interne pour l'application.
    Oui c'est la solution qu'il faut utiliser. Toutes les méthodes de picking font comme ça. Qu'on appelle ça un picking buffer en OpenGL ou une "image aux couleurs indexée" ou autre, le principe reste le même.

    Pour mettre en surbrillance une zone quand elle est cliquée, on peut utiliser cette image (picking buffer) en tant que masque. Par exemple à  partir de l'image aux couleurs indexées (picking buffer) qui sert pour la détection, déterminer quelle zone a été cliquée comme l'a indiqué Draken, puis générer une image intermédiaire à  partir de ce picking bufer mais qui ne contienne que cette zone (en filtrant l'image du picking buffer pour ne garder que ladite couleur indexée) et utiliser cette image intermédiaire comme masque
    Bitmap Images and Image Masks
Connectez-vous ou Inscrivez-vous pour répondre.