Forums Développement Multimédia

Aller au contenu

Différencier MOUSE_DOWN et CLICK

CODE Actionscript

6 réponses à ce sujet

#1 cbonniot

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 78 messages

Posté 27 August 2008 - 14:57 PM

Bonjour à tous, j'ai une visionneuse de photo avec des vignettes(photos miniatures) et un emplacement pour la photo taille normale.
Je voudrais que quand on clic sur une miniature, on affiche la photo taille normale et quand on reste appuyé que l'on drag la miniature. Le probleme est comment différencier si c'est un clic ou si on laisse appuyé car dans tous les cas flash lance l'evenement MouseEvent.MOUSE_DOWN. Il y a bien la solution du Timer mais j'aimerais savoir si il y a quelque chose de plus propre. Ce qu'il faudrait c'est un moyen d'annuler l'evenement Mouse_down quand on detecte un mouse_up apres le Mouse_down ou si vous avez d'autres solutions. J'ai aussi essayé d'utiliser la propriété buttonDown de l'envenement MouseEvent mais elle est toujours a true. Merci de votre aide.

Diurnambule

#2 tibibi0508

  • Members
  • PipPipPipPipPipPipPipPip
  • 1704 messages

Posté 27 August 2008 - 15:03 PM

Salut,

Tu as cas utiliser MouseEvent.MOUSE_UP pour afficher l'image en grand et MOUSE_DOWN pour le drag. Il te faudra une condition dans MOUSE_UP pour savoir si on agrandi l'image ou on stop le drag icon_cool.gif

++icon_wink.gif

#3 cbonniot

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 78 messages

Posté 27 August 2008 - 15:10 PM

Oui merci beaucoup je vais faire ca ! Merci !

#4 cbonniot

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 78 messages

Posté 27 August 2008 - 15:13 PM

Seul petit probleme, ca va marcher meme si on clique ailleurs que sur la miniature et qu'on relache au dessus alors que cela ne devrait pas. :S

#5 g_l_a_d

    Ceinture Orange

  • Members
  • PipPipPip
  • 43 messages

Posté 27 August 2008 - 15:25 PM

Citation (Diurnambule @ Aug 27 2008, 04:13 PM) Voir le message
Seul petit probleme, ca va marcher meme si on clique ailleurs que sur la miniature et qu'on relache au dessus alors que cela ne devrait pas. :S


Alors tu met une condition en plus, une Boolean qui vérifie si il y a déjà eu un MOUSE_DOWN avant sur cette miniature

#6 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7081 messages

Posté 27 August 2008 - 15:50 PM

salut

je sais pas si c'est tres propres mais ca marche icon_wink.gif

Action Script


mc.addEventListener(MouseEvent.MOUSE_DOWN, toto1)
mc.addEventListener(MouseEvent.CLICK, toto2)

function toto1(evt:MouseEvent){
evt.target.startDrag()
evt.target.initx = evt.stageX
evt.target.inity = evt.stageY
}

function toto2(evt:MouseEvent){
evt.target.stopDrag()
if(evt.stageX== evt.target.initx && evt.stageY== evt.target.inity){
trace("clique")
}
}

a+


#7 cbonniot

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 78 messages

Posté 27 August 2008 - 15:56 PM

Oui mais ca oblige a utiliser une variable en plus, dans ce cas je fais le Timer. Je vais essayer de voir ce que ca donne mais faut cliquer et relacher au meme endroit avec ta méthode je pense smile.gif. Merci de votre aide.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP