javascript - 重叠对象上的 HTML Canvas 事件?

标签 javascript html canvas

如果我有一个带有圆圈的 Canvas ,单击它会改变颜色,我可以在 Canvas 元素上使用单击事件并处理数学(距离公式计算<=半径)。但是,如果我有两个重叠的圆圈(如货车图),并且我单击两个圆圈的中间,假设只有顶部的圆圈应该改变颜色,该怎么办?如果在这种情况下应用第一个圆圈的数学,两个圆圈都会改变颜色。

我将如何处理 Canvas 中重叠对象的事件,如上面的示例?希望有一个快速/高效的算法?

最佳答案

您可能需要一个像 EaselJS 这样的框架,它具有更好的 api 来满足您想要做的事情。 Barebones Canvas 2d 上下文在显示对象/ Sprite 行为方面没有提供太多功能。

上面的回复还提到了某种表示层的列表。我认为实现起来不会很困难,只是需要检查半径的另一个条件。

关于javascript - 重叠对象上的 HTML Canvas 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12192327/

相关文章:

javascript - SVG SMIL animateMotion 只触发一次

javascript - jquery函数包含来自外部的变量,但无法读取它

javascript - CSS Transform Skew 和 Scale 在 Microsoft Edge 中无法正常工作

javascript - 修复等距柏林噪声中的高度问题

javascript - Magento 单页结账步骤未扩展

javascript - Fullcalendar.js 在日历下方添加月份标题

javascript - 数组不兼容 JavaScript

Javascript - 登录框不起作用

canvas - 对 HighCharts、D3 和 Canvas 绘图进行基准测试

javascript - 画动圈