Je voudrais que les objets sélectionnables alignent leur centre sur le curseur de la souris lors du clic. La seule modification permise à l'utilisateur dans ce cas est de déplacer l'objet, sans mise à l'échelle, rotation, etc. La seule mise à jour de l'objet sur mousedown
ou selected
mettra à jour sa position uniquement jusqu'à ce que l'événement moving
soit déclenché, où l'objet sera enclenché à sa position d'origine et ensuite commencer à suivre la souris.FabricJS - Meilleure solution pour centrer l'objet sur le curseur lorsqu'il est sélectionné?
rect.on('moving', moveHandler);
function moveHandler(evt) {
var mousePnt = $canvas.getPointer(evt.e);
rect.set({
left:mousePnt.x - rect.width*0.5 , top:mousePnt.y - rect.height*0.5});
this.setCoords();
}
C'est ce que je suis venu avec au centre un rectangle sélectionnable sur le curseur, mais je suis certain qu'il a tiré deux événements de mouvement. Y a-t-il un moyen de contourner ce positionnement original. Ou devrais-je plutôt écrire mes propres écouteurs mousedown
, mouseup
etpour imiter le comportement de glissement par défaut?