Evénement sur canvas

Discutez d'informatique ici !
Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

Evénement sur canvas

par Rockleader » 28 Mar 2015, 13:50

Bonjour,

Je voudrais savoir comment faire pour implémenter des événements en rapport avec la souris ou le clavier sur un canvas.


Par exemple en svg; si je veux déclencher un évent de clic souris sur un dessin; je vais faire cela

Code: Tout sélectionner
   
     
     
   





AU click je vais lancer une fonction clickMe


Mais je ne pense pas pouvoir faire cela avec canvas; ou en tout cas je n'ai rien vu me permettant de faire cela.


Entendons nous bien, je parle d'event sur des dessins du canvas et non pas sur la totalité du canvas !



Code: Tout sélectionner
 function circle(x,y,context,couleur)
{
       context.beginPath();
       context.lineWidth="1";
       context.fillStyle=couleur;
       context.arc(x,y,10, 0, 2 * Math.PI);
       context.fill();
      

}


Sur cette fonction je vais pouvoir dessiner mon cercle plein; mais comment je fais pour associer au cercle un événement ?
Ce qui serait cool ce serait de pouvoir faire un truc de style context.onclick()=action();


Au final mon but sera de faire bouger des dessins avec des contrôles souris ou clavier; mais je simplifie avec un simple onclick pour comprendre la chose.

Merci pour vos conseils !




EDIT; pour les event souris j'ai pu me démerder en mettant les event sur le canvas car mon objet se trouve forcement sur une ligne donné.

En revanche je ne peux pas faire la meme astuce pour les event clavier qui eux auront besoin de connaitre la position de l'objet et non seulement de la souris.


EDIT2; j'ai finalement pu me débrouiller aussi avec le clavier; mais c'est assez sale j'ai été forcé de passer par une variable globale et j'aime pas ça...donc si quelqun a une solution je suis toujours preneur =)
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !



 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite