Ich habe eine Leinwand mit einigen unregelmäßigen Formzeichnungen, und ich hätte gerne ein Feedback, wenn jemand auf einen bestimmten klickt?
Ich habe überall nach diesem gesucht und habe nur Lösungen für Rechteck gefunden.
Ich denke, dass es möglicherweise mit isPointInPath () zu tun hat, aber ich muss noch eine kurze Erklärung finden, wie man es benutzt.
Jede Hilfe willkommen.
Ich habe ein Tutorial erstellt, das eine zweite unsichtbare Leinwand für die Objektauswahl / Treffertests verwendet. Zeichnen Sie alle Ihre Formen nacheinander auf die zweite Leinwand, bis eine von ihnen ein schwarzes Pixel hat, an dem sich die Maus befindet. Dann hast du dein Objekt gefunden!
Hier ist ein bisschen von dem Tutorial, das ich über die Auswahl von Objekten mit Leinwand geschrieben habe:
%Vor%Meine vollständige Demo verwendet nur Rechtecke, aber in einer späteren Version werde ich Kreise / Pfade / Text verwenden.
Wenn Sie die Demo und meinen vollständigen Code sehen möchten, hier .
Sie können einen Pathiterator verwenden, der alle Formen in angenäherte Polygone verwandelt. Verwenden Sie dann einen "Point in Polygon" -Algorithmus, um zu überprüfen, ob der Punkt in der Form ist.
Tags und Links javascript html5 canvas click