-3

我正在制作一个 javascript 游戏,我希望能够添加一个主菜单,但我不知道确切的方法。我正在寻找一种使 filltext() 可点击但无济于事的方法。我查了一下,但没有找到适合我需要的答案。游戏原型可以在这里查看:sketchy.idreesinc.com。有谁知道无论如何要实施这个?我正在使用 javacript 和 HTML5 的 canvas 元素,但我更喜欢 javascript。谢谢!

4

1 回答 1

2

首先要了解 HTML 和 canvas 的事情

DOM

HTML 元素是 DOM(文档对象模型)的一部分,它是网页的数据结构。DOM 元素可以具有触发事件(如click),并且事件侦听器对这些事件做出反应。

浏览器

您的 Web 浏览器将 DOM 元素转换为屏幕上的像素。它还处理输入并确定在您单击页面时要触发的元素事件。

帆布

canvas元素允许您渲染位图图像。您基本上可以通过一些 javascript 调用在像素网格上设置颜色以制作漂亮的图片。

这一切意味着什么

当您在 HTML(标签)中创建链接元素时,<a>浏览器会呈现文本并将点击侦听器附加到元素,以便链接实际工作。

当您使用 javascript 在画布上绘制像素时,浏览器对 DOM 的理解停留在画布上。浏览器知道 DOM 并且 DOM 知道画布,但它不跟踪画布中绘制的各个项目。

答案

您实际上无法将事件附加到画布中的文本,但是有很多方法可以获得单击文本的所需行为,发生了一些事情

一种方法是将单击事件附加到,canvas但不是始终运行此事件侦听器的简单事件侦听器,而是需要检查单击是否发生在文本上或画布上的其他位置。

事件侦听器函数使用包含Event事件信息的参数调用。

谷歌的东西

一些关于这些的快速阅读应该让您开始使用工作菜单。

  • 注册 javascript 事件监听器
  • javascript事件鼠标坐标
于 2012-09-27T02:17:06.703 回答