C'è un modo per collegare un gestore di eventi a un oggetto disegnato su Canvas HTML5, senza tracciare i punti? Cheers, IEventi oggetto canvas HTML5
risposta
Dai uno sguardo allo Cake. È un plug-in grafico di scena per elementi canvas. Dovresti essere in grado di associare i gestori di eventi agli oggetti canvas con esso.
Si potrebbe anche dare un'occhiata a KineticJS - è stato progettato per rendere il collegamento degli ascoltatori di eventi alle forme sullo schermo il più semplice possibile mentre si attengono ai pattern dell'API Canvas. È possibile controllare un esempio qui:
http://www.html5canvastutorials.com/advanced/html5-canvas-path-mouseover/
Penso che la risposta è (ma nessun altro manifesto sta usando il termine) che non ci sia di prima supporto di classe per eventi su primitive grafiche disegnate su canvas HTML5. Questo non vuol dire che non è possibile scrivere un ascoltatore, solo che se si vuole fare questo è necessario utilizzare un'API come Kinetic JS come si può vedere in
http://www.html5canvastutorials.com/advanced/html5-canvas-path-mouseover/
credo, KineticJS dovrebbe essere sufficiente per la maggior parte delle tue esigenze. Ma assicurati di mantenere gli eventi originati da HTML5 lontano dagli eventi di KineticJS. Sto affrontando alcuni problemi su queste linee. ti aggiornerò se trovo qualcosa. Cordiali saluti
Mentre Kinetic consente di allegare (apparentemente) gestori di eventi a elementi canvas, è progettato per le animazioni e, di conseguenza, ridisegna continuamente la pagina. Se hai una tela complessa (molti oggetti), questi ridisegni possono rallentare la tua tela fino al punto di inutilizzabilità. – mikemaccana
A partire dalla versione 3, KineticJS ora disegna in modo intelligente solo gli oggetti che sono stati spostati. Inoltre, è MOLTO più veloce rispetto alle versioni precedenti. Ecco un esempio di test di stress con il tooltip utilizzando 10.000 forme: http://www.html5canvastutorials.com/labs/html5-canvas-10000-shape-stress-test-with-kineticjs/ –