如果我有一个带有圆圈的 Canvas ,单击它会改变颜色,我可以在 Canvas 元素上使用单击事件并处理数学(距离公式计算<=半径)。但是,如果我有两个重叠的圆圈(如货车图),并且我单击两个圆圈的中间,假设只有顶部的圆圈应该改变颜色,该怎么办?如果在这种情况下应用第一个圆圈的数学,两个圆圈都会改变颜色。
我将如何处理 Canvas 中重叠对象的事件,如上面的示例?希望有一个快速/高效的算法?
最佳答案
您可能需要一个像 EaselJS 这样的框架,它具有更好的 api 来满足您想要做的事情。 Barebones Canvas 2d 上下文在显示对象/ Sprite 行为方面没有提供太多功能。
上面的回复还提到了某种表示层的列表。我认为实现起来不会很困难,只是需要检查半径的另一个条件。
关于javascript - 重叠对象上的 HTML Canvas 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12192327/