我使用画布创建了一个圆圈并将其分成几条线。我想要一个特定区域的坐标:如果我点击一个特定区域,那应该是可以点击的。
举一个文字轮游戏的例子,一个圆圈被分成许多不同坐标的区域,一些字母放在划分的区域内。如果我想单击带有字母“A”的特定区域,则应单击“A”并应显示在文本框中。
我该如何做到这一点?
我使用画布创建了一个圆圈并将其分成几条线。我想要一个特定区域的坐标:如果我点击一个特定区域,那应该是可以点击的。
举一个文字轮游戏的例子,一个圆圈被分成许多不同坐标的区域,一些字母放在划分的区域内。如果我想单击带有字母“A”的特定区域,则应单击“A”并应显示在文本框中。
我该如何做到这一点?
构成画布的元素不会被记住,因此不具有交互性——只要将它们提交到画布上,它们就会被归入集体中。它们不是像 DOM 元素那样的单个元素。
解决方法是自己记住事物的位置,监听对画布元素的点击,然后通过您自己的逻辑计算出点击的位置。
这是不平凡的。Kinetic之类的库使这一切变得容易。使用这样的 API 可以为你节省大量时间——比如在 vanilla JS 上使用 jQuery 作为 DOM。