Hey Ich habe ein einfaches Dreieck in Canvas, und ich möchte jedem Punkt des Dreiecks Listener hinzufügen, so dass wenn Benutzer auf jeden Punkt klicken eine Aktion passieren wird. Ich würde gerne wissen, ob eine solche Vorgehensweise in Leinwand möglich ist, wenn nicht, was meine Alternativen? so ist meine Hauptfrage wie folgt:Hinzufügen von Listener auf Canvas-Punkten
- Kann ich einen Listener auf Leinwand einzelne Punkte hinzufügen? Wenn nicht, was sind meine Alternativen?
Update:
ich mein Glück versucht haben und erfolgreich zu sein Click-Ereignis auf der ganzen Leinwand in das Hinzufügen und dann aktuellen Punkte per Mausklick erhalten, aber meine Lösung ist nicht endgültig und nicht sehr wertvoll.
Kann ich einen Bereich um jeden Punkt erstellen, auf den geklickt wird, damit der Benutzer nicht auf seine Klicks Wert legen muss?
http://codepen.io/Barak/pen/VadQYm
$(function(){
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var triangle = [{ x: 58, y: 845 }, { x: 984, y: 845 }, { x: 521, y: 41 }];
drawTriangle(triangle);
function drawTriangle(t) {
ctx.beginPath();
ctx.moveTo(t[0].x, t[0].y);
ctx.lineTo(t[1].x, t[1].y);
ctx.lineTo(t[2].x, t[2].y);
ctx.closePath();
ctx.strokeStyle = 'black';
ctx.lineWidth = 2;
ctx.stroke();
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="canvas-wrapper">
<canvas id="canvas" width=1024 height=980></canvas>
</div>
ja, aber dann muss der Benutzer wertvoll sein, wie Kann ich einen Bereich um jeden angeklickten Punkt erstellen und diesen Vorgang ausführen? – Brk
ok danke dir .... – Brk