IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Point'n click - pb de curseur de souris


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Point'n click - pb de curseur de souris
    Bonjour,

    J'aurais besoin d'aide...

    Je me suis lancé dans la programmation d'un point'n click, à la Monkey Island, et j'aimerais savoir comment faire pour faire détecter si la souris pointe un gif, un personnage à l'écran par exemple, avec le curseur. Mon but est de pouvoir changer l'icone du curseur si la souris pointe un gars, ou un objet à l'écran, et de pouvoir interragir avec le gif pointé.

    Bon c'est un peu vague comme question mais la moindre piste m'aiderait beaucoup!

    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    en quel langage c'est développé ? En Java ?
    Le truc le plus simple c'est de faire des listes ( il doit y avoir des classes Java pour cela ) qui mémorisent objets et persos.
    Quand on fait un clic souris on parcourt ces listes et on regarde si les coordonnées de la souris sont comprises dans un rectangle dont les dimensions sont X,Y de l'objet/persos et hauteur largeur.
    Si on trouve une entité on agit en conséquence

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    c'est en java.

    ouai, le coup du rectangle c'est une bonne idée...je pense que je vais faire comme ça !

    Mais est-ce qu'il existe une façon de faire ça de façon plus précise? genre come dans les Chevalier de Baphomet ou d'autres jeux où la limite de clicage est carément définie par les contours dessinés du perso?

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Il faut faire des tests pixel-perfect, càd qu'une fois que tu as trouvé un rectangle qui contient le curseur de la souris, tu testes les pixels de l'image correspondante pour voir si tu es sur un pixel transparent ou non.

    Il y a quelques tutoriels qui trainent sur le net, tu devrais les trouver avec un peu de recherche.

  5. #5
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    ou sinon, en java, tu peut dessiner tes objet speciaux dans un panel et ajouter un mouse listener qui va changer le curseur de la souris automatiquement à l'entrée/sortie pour une implementation basique.
    ensuite, tu peut rajouter un test pixel perfect sur l'image lors du mouse move pour ne prendre en compte les changement que si tu est effectivement sur l'image (et donc prendre en compte l'alpha)
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Oui j'ai essayé de trouver des infos, et c'est exactement ça que je voudrais.

    Bon deja, tout ce qui est test de collision entre 2 sprites, j'ai pas besoin je pense. Seulement j'ai pas bien pigé comment déterminer si un pixel est transparent. Ca donne une info supplémentaire récupérable dans l'alpha du pixel ou il faut que je teste si la couleur du pixel est celle que j'ai determinée comme trensparente en faisant le gif?

  7. #7
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    a priori, il doit falloire stocker l'image et quand tu clique, tu va lire le pixel de l'image à la position de la souris, et en fonction de l'alpha, tu peut determiner si l'objet est sous la souris ou pas.
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  8. #8
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Ca va peut-être dépendre de comment l'image est chargée/gérée/blittée. Les gif n'ont pas d'aplha mais une couleur clef pour la transparance. Il me semble que c'est une des bonnes raison d'utiliser le png.

    Si le sprite fonctionne de la même manière (et qu'il n'est pas passé en RGBA à un moment ou à un autre), il faudra plutôt tester cette couleur.

    Ensuite ça dépend de comment les images et l'affichages sont gérés. Quelle librairies/classes utilises-tu ?

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    ben j'utilise les librairies de base: awt et swing, jsuis pas super calé de ce coté là, et c'est peut être pour ça que je rame un peu, j'avance un peu à l'aveuglette. Pour mon jeu, pour l'instant, j'utilise juste des images de fond: .jpg ou .png, et des persos en .gif

  10. #10
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Ce forum est plutôt porté C/C++ et SDL, openGL & Co. Si tu ne trouves pas et que personne dans le coin ne répond, le forum Java sera plus approprié.

    A la louche dans Swing (qui n'est pas ma spécialité ) il y a la classe Image. Peut être qu'en passant par un PixelGrabber ça pourrait aller.

    Reste à voir si le supplément de précision mérite ces efforts.

Discussions similaires

  1. curseur de souris dans champ texte
    Par julio02200 dans le forum Access
    Réponses: 5
    Dernier message: 19/06/2006, 14h21
  2. [Débutant] Changer curseur de souris pendant téléchargement
    Par Xavier78000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/01/2006, 13h32
  3. [Decus] curseur de souris perso en PNG
    Par Fantole dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 10/11/2005, 14h09
  4. [MFC] Modifier curseur e souris dans CWnd
    Par DarkWiken dans le forum MFC
    Réponses: 4
    Dernier message: 17/03/2005, 11h04
  5. fullscreen et curseur de souris!
    Par bakonu dans le forum OpenGL
    Réponses: 4
    Dernier message: 12/05/2004, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo