javascript - HTML5 定义图像部分坐标的最佳方式,当有人点击它时我们可以找到点击的部分

标签 javascript jquery html

我是 HTML5 的新手,我一直致力于将简单的 Flash 游戏转换为 HTML5。我要做的是,我有一个 Angular 色的图像,所以我定义了图像的各个部分,当用户点击头部时,它应该说你点击了头部,如果有人点击例如手上它应该说你已经点击了手或者它是在 Angular 色的脸上点击。

我已经完成谷歌搜索,发现我们可以定义不同的形状,我已经绘制并成功了 Image i have used

所以我只想知道在我的图像中我应该做什么,我必须为不同的部分使用图像,或者我必须使用 HTML5 bezierCurveTo 函数绘制字符。

请告诉我最好的方法以及我该怎么做。

谢谢

最佳答案

您可以使用图像、SVG 元素或 Canvas 来完成。

如果您有图像或 SVG 元素,您可以 Hook onclick图像的事件以告知何时单击它。图像将是图像的矩形边界框,但 SVG 元素将是紧密边界。使用 document.getElementById(<id>)从您的页面获取元素。

如果您使用的是 Canvas,您还可以使用 onclick但在回调中,您可以使用 CanvasRenderingContext2D.isPointInPath() 查看该点是否在头部。这将允许您检查头部的确切边界,而不仅仅是头部周围的矩形。

canvas.onclick = function(event) {
  context.beginPath(); 
  // Recreate the head path here. 

  if (context.isPointInPath(event.offsetX, event.offsetY)) {
    // Click was within the head
  }
};

关于javascript - HTML5 定义图像部分坐标的最佳方式,当有人点击它时我们可以找到点击的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19374867/

相关文章:

javascript - 子元素触发的鼠标悬停事件 - 如何停止?

javascript - 如何使用动态生成的列表中的按钮更改文本?

javascript - 如果函数在 3 秒内未调用 N 条记录中的 1 条,如何应用超时

javascript - 使用 ng-model 和 select 来显示数据属性而不是值?

javascript - Vuejs 设置数组

javascript - 为什么在 div onclick 中添加和删除类不起作用?

javascript - 使用 JavaScript 更新背景图像时的不一致行为

javascript - Border Radius 生成器无故停止工作

Javascript - 如何关闭当前浏览器选项卡单击按钮?

javascript - rails : sending ajax object using Jquery and keeping datatype on rails