Grazie dell'aiuto.
Siccome mi serviva in svg, ho provato ad adattare il codice:
codice:<!DOCTYPE html> <html> <head> <title></title> <meta name="viewport" content="width=device-width"> <meta charset="UTF-8"> </head> <body> <div id="container"> <div id="gioco"> <svg id='unisci' width='430' height='800'></svg> </div> </div> <script src="jquery-3.1.1.min.js"></script> <script src="snap.svg-min.js"></script> <script> var s = Snap('#unisci'); var c1 = s.circle(150, 150, 10), c2 = s.circle(50, 10, 10), c3 = s.circle(10, 60, 10), c4 = s.circle(100, 30, 10), g = s.paper.g(c1, c2, c3, c4); var ultimoPunto = { x: null, y: null }; s.mousedown(function(e){ var rect = s.getBBox(); var punto = { x: e.clientX - rect.x, y: e.clientY - rect.y }; if (ultimoPunto.x && ultimoPunto.y) { var line = s.paper.line(ultimoPunto.x, ultimoPunto.y, punto.x, punto.y); line.attr({ stroke:"#ff0000", strokeWidth:6 }); } ultimoPunto = punto; }); </script> </body> </html>
Adesso il problema è che le linee non vengono esattamente dove clicco, credo che il problema sia la variabile "rect".
Inoltre avrei bisogno che al click, prima di un cerchio e poi dell'altro, in successione, apparissero le linee a collegarli.
Ho provato a sostituire al mousedown l'intero spazio svg con i cerchi ma non sono riuscita ad ottenere quello che volevo, sicuramente perchè ho sbagliato qualche passaggio.
C'è un modo per farlo?
Grazie in anticipo

Rispondi quotando