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 =)
